对象的共享

在并发程序中使用和共享对象时,可以使用一些实用的策略,包括:

  • 线程封闭:线程封闭的对象只能由一个线程拥有,对象被封闭在该线程中,并且只能由这个线程修改。

  • 只读共享:在没有额外同步的情况下,共享的只读对象可以由多个线程并发访问,但任何线程都不能修改它。

    共享的只读对象包括不可变对象事实不可变对象

  • 线程安全共享线程安全的对象在其内部实现同步,因此多个线程可以通过对象的公有接口来进行访问,而不需要进一步的同步。

  • 保护对象被保护的对象只能通过持有特定的锁来访问。

    保护对象包括封装在其他线程安全对象中的对象,以及已发布的并且由某个特定锁保护的对象。

最后更新于