线程安全的数据结构
线程安全(thread-safe)的数据结构意味着多个线程可以同时访问数据结构,执行相同或不同的操作,每个线程都会看到数据结构的一致视图(self-consistent view)。
它可以保证在并发访问时不会有数据丢失或损坏,所有的不变性都将被维护,也不会有问题的竞态条件。
序列化 Serialization
"序列化"在并发编程中,是指通过某种机制(如互斥锁)确保多个线程不能同时访问某个数据结构或资源。
这意味着,尽管有多个线程可能试图同时访问,但在任何给定的时间点,只有一个线程被允许访问。
这就确保了在任何时候,只有一个线程可以看到数据结构的一致状态,从而防止了数据的混乱和不一致。
但是,这种方法也可能导致性能下降,因为线程必须等待锁。
因此,设计并发数据结构时,需要尽量减少需要序列化的操作,以提高并发性和性能。