论坛首页 Java企业应用论坛

java线程安全总结

浏览 134480 次
该帖已经被评为精华帖
作者 正文
   发表时间:2010-11-10  
jameswxx 写道
   不明白为什么那么多人投“隐藏贴”,估计都很牛比吧,就算这个帖子不好,也不至于投隐藏贴吧?如果这个帖子被投隐藏贴,我以后再也不发帖了,只写自己的博客算了。javaeye的风气现在越来越浮躁了,动辄就是新手,隐藏。花精力花时间写帖子,图个什么呀?受这个鸟气。

为楼主喊冤。  很欣赏楼主对过程的分析。  循循善诱。  希望楼主继续后面的文章
0 请登录后投票
   发表时间:2010-11-10  
  写的不错,通俗易懂,希望LZ继续努力,坚持写下去,我也写过文章,深知要写好文章不是那么容易的。 LZ 也可以看看我的博客文章,地址: http://blog.csdn.net/FcBayernMunchen/archive/2010/08/15/5813667.aspx
0 请登录后投票
   发表时间:2010-11-10  
那么对于public synchronized void add(int num)这种情况,意味着什么呢?其实这种情况,锁就是这个方法所在的对象。同理,如果方法是public  static synchronized void add(int num),那么锁就是这个方法所在的class。

所以简单来说,volatile适合这种场景:一个变量被多个线程共享,线程直接给这个变量赋值。这是一种很简单的同步场景,这时候使用volatile的开销将会非常小。

这两段话最经典了。
楼主是否可以请教下sleep()与多线程的关系?sleep()是不是只是放弃当前cpu?与多线程并没有关系啊?
0 请登录后投票
   发表时间:2010-11-10  
貌似简单了一点,不过我学到了很多,如果在深入一点那就更完美了
0 请登录后投票
   发表时间:2010-11-10  
看得出楼主是认真写了的,不管深不深入,首先态度就值得赞一个,投精了。
0 请登录后投票
   发表时间:2010-11-10  
非常想投精华可惜积分不够不能投,很是抱歉!
1 请登录后投票
   发表时间:2010-11-10  
jameswxx 写道
   不明白为什么那么多人投“隐藏贴”,估计都很牛比吧,这个帖子不是非常好,但也不至于投隐藏贴吧?如果这个帖子被投隐藏贴,我以后再也不发帖了,只写自己的博客算了。javaeye的风气现在越来越浮躁了,动辄就是新手,隐藏。花精力花时间写帖子,图个什么呀?受这个鸟气。

零分党都没有选择权利了 。
估计都是高手。
0 请登录后投票
   发表时间:2010-11-10   最后修改:2010-11-10
因为java所以java 写道
那么对于public synchronized void add(int num)这种情况,意味着什么呢?其实这种情况,锁就是这个方法所在的对象。同理,如果方法是public  static synchronized void add(int num),那么锁就是这个方法所在的class。

所以简单来说,volatile适合这种场景:一个变量被多个线程共享,线程直接给这个变量赋值。这是一种很简单的同步场景,这时候使用volatile的开销将会非常小。

这两段话最经典了。
楼主是否可以请教下sleep()与多线程的关系?sleep()是不是只是放弃当前cpu?与多线程并没有关系啊?



sleep只是让当前线程暂停了一会儿,并没有放弃锁。如果在同步块中sleep,即使当前线程暂停了,别的线程也不能进入同步块中执行。

wait是让当前线程放弃锁,进入阻塞队列,等被nofity后,才能进入就绪队列。
0 请登录后投票
   发表时间:2010-11-10  
看后很有收获。
0 请登录后投票
   发表时间:2010-11-10  
不错,虽然看得比较吃力,这个贴投隐藏、新手,那个set/get垃圾帖投精华,

我想说,版主在干啥?!!!

作为JE的用户,我有点不爽咯~~~~

顶楼主先
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics