2010-07-01 3 views
2

J'ai une classe qui contient un objet de type Object (qui est utilisé comme moniteur pour la synchronisation). Puisque Object ne sont pas Serializable, que puis-je substituer pour que la sérialisation fonctionne?Comment sérialiser un objet de type Object?

Répondre

10

Je ne pense pas qu'un champ utilisé pour la synchronisation devrait être sérialisé.

Marquez-le transient.

+4

+1, ceci est la seule bonne réponse. Pour Jake - une instance 'Object' n'a pas d'état interne; si vous vous arrêtez et y réfléchissez, que voudriez-vous * sérialiser à ce propos? La réponse est inévitablement "rien", d'où il devrait être exclu du processus de sérialisation. –

0

Un moniteur pour la synchronisation? Avez-vous essayé avec ReentrantLock Comme dit Jonathon. Vous devriez le marquer comme transient

Questions connexes