多线程
ccecwg
这个作者很懒,什么都没留下…
展开
-
java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1===========转载 2014-09-03 15:36:15 · 352 阅读 · 0 评论 -
Thread.sleep()和Thread.currentThread().sleep()区别
线程可以用继承Thread类或者实现Runnable接口来实现. Thread.sleep()是Thread类的方法,只对当前线程起作用,睡眠一段时间. 如果线程是通过继承Thread实现的话这2个方法没有区别; 如果线程是通过实现Runnable接口来实现的,则不是Thread类,不能直接使用Thread.sleep() 必须使用Thread.currentThread(转载 2014-09-03 16:07:37 · 7428 阅读 · 2 评论 -
Java并发编程注意事项
保证线程安全的三种方法: 不要跨线程访问共享变量 使共享变量是final类型的 将共享变量的操作加上同步 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易. 编写多线程程序, 首先保证它是正确的, 其次再考虑性能. 无状态或只读对象永远是线程安全的. 不要将一个共享变量裸露在多线程环境下(无同步或不可变性保护) 多线转载 2014-11-17 14:53:33 · 411 阅读 · 0 评论