如何用Java实现跨线程通信?
浏览量:1772
时间:2021-03-25 07:32:03
作者:admin
如何用Java实现跨线程通信?
synchronized关键字用于实现线程间的通信。
这种方式本质上是“共享内存”通信。多个线程需要访问同一个共享变量。谁拿到锁谁就可以执行。
如果线程a改变了条件,线程B会通过while语句不断检查条件是否为真,从而实现线程间的通信。但是这种方法会浪费CPU资源。您可以参考以下示例:
wait()方法可以使线程进入等待状态,notify()方法可以使等待状态唤醒。这种同步机制非常适合生产者和消费者模式:消费者消费资源,生产者生产资源。当资源丢失时,使用者调用wait()方法自阻塞并等待生产者的产品。生产者完成后,调用notify/notifyAll()来唤醒消费者进行消费。
使用管道通信java.io.PipedInputStream文件& ampjava.io.PipedOutputStream前两个是面向字节的,后两个是面向字符的。您可以参考下面的例子:
学了java能做什么实际的东西?
学习Java之后,您可以做很多实际的事情,主要取决于您的兴趣。如果你喜欢手机开发,你可以做一个手机操作系统,因为Android是用Java开发的。如果你想涉足金融行业,你可以为银行或投资机构建立他们的交易系统,因为高盛、华旗集团等使用的交易系统都是用Java开发的。如果你喜欢游戏,可以参考桌面版的minecraft开发一套游戏;也可以再造一个阿里巴巴。我听说它们主要是Java栈。
所以,不要纠结于这个问题,只要努力学习。会有个地方给你的!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
网页抓取工具 大数据抓取软件