Ad-hoc线程封闭

最近重新在读《Java并发编程实战》这本书,早上看到线程封闭这一节,讲线程封闭的三种方式:Ad-hoc线程封闭、栈封闭、ThreadLocal封闭。后两种我能理解,第一种实在以前没接触过,不行,这事不了解个究竟不算完。

 

按照这本书的翻译“Ad-hoc线程封闭是指,维护线程封闭性的职责完全由程序实现来承担。Ad-hoc线程封闭是非常脆弱的,因为没有任何一种语言特性,例如可见性修饰符或局部变量,能将对象封闭到目标线程上。事实上,对线程封闭对象(例如,GUI应用程序中的可视化组件或数据模型等)的引用通常保存在公有变量中。”其实意思很明白,就是“维护线程封闭性的职责完全由程序实现来承担”这句,其它啰啰嗦嗦的都是重复解释这句话而已。本来挺容易理解的一句话,经过这一折腾,再加上起了个看起来很NB的名字弄得有点晕。

 

看完这一节上班去了,路上还是有点不放心,总觉得理解上还差点什么,这个奇怪的Ad-hoc到底什么含义?早上Google了一下,发现stackoverflow上也有人问类似的问题(Example of ad hoc thread confinement in Java大笑,维基百科上对于Ad hoc这个词有专门的解释Ad hoc是拉丁文常用短语中的一个短语。这个短语的意思是'特设的、特定目的的(地)、即席的、临时的、将就的、专案的'。这个短语通常用来形容一些特殊的、不能用于其它方面的的,为一个特定的问题、任务而专门设定的解决方案。这个词汇须与a priori区分。

 

看到这儿觉得我的理解是对的,这让我想起之前看的很多翻译书,本来一句话说清楚的事,老外喜欢东拉西扯,这时看出翻译的功力来了,是否能够针对这种地方在中文语境中把单词背后的含义一并说清。

PS:这本书的翻译质量总体上说还算可以,不然我也不会前后仔仔细细的读,好像同名的书还有另一本翻译叫《Java并发编程实践》,没看过就不做评论了。

你可能感兴趣的:(线程)