JLS:第54项 - 为什么具有线程池的类不应该实现可序列化?

时间:2010-04-26 05:03:11

标签: java serialization

据我所知,对象状态只是存储(字段的值等),但是,执行上下文无论如何都会丢失。

这有什么意义?如果是这样会发生什么坏事?

注意*这取自有效Java作者Joshua Bloch

1 个答案:

答案 0 :(得分:1)

Thread的执行上下文由

组成
  • Java堆栈,
  • 线程暂停时所采用的硬件寄存器的快照,以及
  • 其他状态,例如线程在调度程序队列中的存在,等等。

由于序列化无法保存这些信息,因此序列化线程无用。