啥叫Thread Confinement? 在看《Java Concurrency in Practice》,第三章Sharing Objects讲到可以通过thread confinement实现thread safety,也就是不共享数据。各位大神可不可以举个例子来细说下Thread Confinement。那个Ad-hoc Confinement没具体例子。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 貌似叫线程封闭,ThreadLocal应该就是这意思吧。。 能不能举了具体的例子,没搞懂~~书上那个Stack Confinement就是没暴露局部变量,每个线程执行方法时都用自己的局部变量,线程执行完,栈销毁。 ThreadLocal是其中一种Confinement~~我也不熟悉ThreadLocal 书中不是讲了三种 线程封闭 的方式嘛1、栈封闭 就是方法中局部变量永远都是某个线程专用的2、ThreadLocal 这玩意儿可以想象成类似于Map的行为,虽然底层不是map,key是线程对象,value是你想存的值,当从ThreadLocal get的时候,内部会调用Thread.currentThread获取当前线程对象,然后从“map”中获取之前存的值。所以你存的值,永远只会被存值的那个线程使用,其他线程获取不到3、专设的线程封闭 这个是最脆弱的,因为从语言上没法保证,上面1,2都有语言特性来提供保障,但这个得由程序员自己去保证一个变量只被某个线程访问 thread localhttp://www.drdobbs.com/jvm/184405382 java后端学习路线. 有关GridLayout的问题 用swt/jface的table viewer画表格 新手阶乘问题!求解 io的EOFException 问题 如何统一设置整个应用程序的DisabledTextColor? javascript数组问题???有会的吗? 好玩的游戏(蛙跳游戏的算法实现) 异步IO求救,急! 代码的输出 懂英文的,求指点或帮助,作业 为什么我写了一个简单的socket服务端,一启动接收客户端就很占CPU了
书中不是讲了三种 线程封闭 的方式嘛
1、栈封闭 就是方法中局部变量永远都是某个线程专用的
2、ThreadLocal 这玩意儿可以想象成类似于Map的行为,虽然底层不是map,key是线程对象,value是你想存的值,当从ThreadLocal get的时候,内部会调用Thread.currentThread获取当前线程对象,然后从“map”中获取之前存的值。所以你存的值,永远只会被存值的那个线程使用,其他线程获取不到
3、专设的线程封闭 这个是最脆弱的,因为从语言上没法保证,上面1,2都有语言特性来提供保障,但这个得由程序员自己去保证一个变量只被某个线程访问
http://www.drdobbs.com/jvm/184405382