《Java并发编程实战》3.3.1章出现了一个词:Ad-hoc
翻译非常难懂:
Ad-hoc线程封闭是指,维护线程封闭性的职责完全由程序实现来承担。Ad-hoc线程封闭是非常脆弱的,因为没有任何一种 语言特性,例如可见性修饰符或局部变量,能将对象封闭到目标线程上。事实上,对线程封闭对象(例如,GUI应用程序中的可视化组件或数据模型等)的引用通常保存在公有变量中。
我的理解:
Ad-hoc翻译为特定的。
如何理解 Ad-hoc线程封闭?
1.首先什么是线程封闭性?
答:仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭
2.如何维护线程封闭性?
答:保证对象的使用被限制在单线程中。
3.维护线程封闭性的职责完全由程序实现来承担
答:程序员自己写代码把对象限制在单个线程上。
国外的网站几乎都像复读机似的重复这句话:
程序员自己负责把对象限制在(目标)线程上。
看到这里