java

位置:IT落伍者 >> java >> 浏览文章

Java多线程程序设计二十三个要点[3]


发布日期:2020年06月29日
 
Java多线程程序设计二十三个要点[3]

Volatile变量 volatile变量表示保证它必须是与主内存保持一致它实际是变量的同步 也就是说对于volatile变量的操作是原子型的如用在long 或 double变量前

使用yield()会自动放弃CPU有时比sleep更能提升性能

sleep()和wait()的区别是wait()方法被调用时会解除锁定但是我们能使用它的地方只是在一个同步的方法或代码块内

通过制造缩小同步范围尽可能的实现代码块同步wait(毫秒数)可在指定的毫秒数可退出wait;对于wait()需要被notisfy()或notifyAll()踢醒

构造两个线程之间实时通信的方法分几步

创建一个PipedWriter和一个PipedReader和它们之间的管道

PipedReader in = new PipedReader(new PipedWriter())

在需要发送信息的线程开始之前将外部的PipedWriter导向给其内部的Writer实例out

在需要接受信息的线程开始之前将外部的PipedReader导向给其内部的Reader实例in

这样放入out的所有东西度可从in中提取出来

[] [] [] []

               

上一篇:Java多线程程序设计二十三个要点[4]

下一篇:Java多线程程序设计二十三个要点[2]