对象的共享
在并发程序中使用和共享对象时,可以使用一些实用的策略,包括:
线程封闭:线程封闭的对象只能由一个线程拥有,对象被封闭在该线程中,并且只能由这个线程修改。
只读共享:在没有额外同步的情况下,共享的只读对象可以由多个线程并发访问,但任何线程都不能修改它。
共享的只读对象包括不可变对象和事实不可变对象。
线程安全共享:线程安全的对象在其内部实现同步,因此多个线程可以通过对象的公有接口来进行访问,而不需要进一步的同步。
保护对象:被保护的对象只能通过持有特定的锁来访问。
保护对象包括封装在其他线程安全对象中的对象,以及已发布的并且由某个特定锁保护的对象。
最后更新于