2010-04-08 2 views

Répondre

9

La synchronisation fait référence au multithreading. Un bloc de code synchronisé ne peut être exécuté que par un thread à la fois.

sérialisation se réfère à la conversion des objets de flux binaires, soit pour le stockage ou la transmission. L'acte de sérialisation code les données selon des règles spécifiques. Ce flux binaire peut ensuite être désérialisé plus tard ou sur un système distant qui le reçoit. Pour que la sérialisation fonctionne, la définition de classe doit correspondre (c'est-à-dire que vous devez utiliser la même version de la classe ou une version dont la compatibilité est garantie) et la classe doit implémenter l'interface Serializable.

Plus sur serialization.

Plus sur synchronization sérialisation

+2

+1; juste quelques remarques supplémentaires. Tout d'abord, le terme sérialisation est parfois utilisé dans le contexte de la gestion des demandes * en séquence * plutôt que simultanément. À part ça, je dirais que les objets Java sont sérialisés en bytestreams plutôt qu'en bitstreams. AFAIK, la sortie est toujours alignée sur les octets. –

0

est de prendre un objet et le dumping à quelque chose qui est en dehors de la portée du programme (par exemple, une chaîne ou un fichier xml)

synchronisation est un concept d'avoir différents threads en cours d'exécution dans synchroniser les uns avec les autres afin qu'ils n'utilisent pas, par exemple, une ressource partagée en même temps.

Pour autant que je sais que ces termes ont très peu en commun (sauf si vous avez une question sur la façon de synchroniser les deux threads qui ont besoin sur serialize le même objet)

0

La synchronisation est un problème de concurrence, par exemple comment coordonnez-vous l'accès à un objet à partir de plusieurs threads.

Ici, une flèche représente l'accès.

      s 
[thread1] ---------------> y 
          n [shared object] 
[thread2] ---------------> c 
          h 

sérialisation est la conversion des structures de données et des objets dans une séquence de bits que vous pouvez stocker/transmettre et ensuite reconvertir les structures de données et d'objets.

Ici, une flèche représente la conversion.

  deserialization 
      <--------------- 
    [object]     [binary] 
      ---------------> 
      serialization 

Ceci est plus utile lorsque la désérialisation se produit à un autre endroit et/ou à un autre moment.

0

La synchronisation assure qu'un seul thread exécuteront à un moment et donc aucune chance de situation de blocage. La sérialisation fait référence au stockage de l'état d'un objet. Par exemple, nous pouvons prendre un jeu vidéo. Si nous suspendons le jeu et le continuons plus tard, il reprendra le jeu. Cela signifie que l'état et le niveau sont stockés ici.

Questions connexes