当前位置: 首页 > 网络应用技术

Java共同线程通信生产消费案例演示

时间:2023-03-06 12:53:56 网络应用技术

  本文主要介绍Java线程通信的原理,目的和方法,并在本文结尾提供了多个线程通信案例。

  执行多个线程后,默认情况下将随机切换CPU。当我们需要多个线程一起完成任务时,我们希望它们定期执行,因此许多线程需要一些协调的通信。这样,我们可以帮助我们一起操作数据。

  生产消费模型!

  从广义上讲,可以协调线程音调的方法属于线程通信的应用。它不应是主动通知另一个线程的线程。该通知也可能是公共信号。

  以下情况使用同步来实施多生产者和多功能器的情况

  在前一种情况下,必须立即消费生产者线生产的产品。在以下情况下,可以累积生产的产品。锁可以用于实现多个生产者和多消费者。使生产者能够连续生产,消费者可以不断消费。

  编写一个程序并打开三个线程。这三个线程的名称分别为a,b和c。每个线程在屏幕上打印10次自己的名称。输出的结果必须按名称顺序显示。

  先前的情况是相对原始的方法,适合初学者。在这里,高级阻止队列用于实施通知并等待/产生消费。

  我们的代码非常简单,并且不使用任何同步,因此,如果实现线程安全性和通信,实际上,这些生命将被阻止以帮助我们做到这一点。与以前的手动生产消费+仓库案例相比,这就是这就是这就是这样。它不是更简单,更高效吗?这些是JUC软件包的内容。如果您想很好地学习Java,JUC是每个人都无法摆脱的障碍!

  信号量是出现在JDK1.5中的类。它被翻译成字面意义的“信号”,属于JUC。它是同步的增强版本,可用于控制并发线程的数量。Semaphore可以控制可以同时访问共享资源的线程数,并通过访问获得许可证()。如果没有,请等待并释放()发布许可证。它协调各种线程以确保合理使用公共资源。C.com与同步和锁定相比,它只能允许一个线程一次访问资源,并且功能更强大。

  对于管道类型的流动,您必须首先绑定它,即调用连接方法。如果没有绑定,它将抛出异常。管道音译字母类似于聊天室。

  参考资料:

  如果您不理解或不需要交流,可以发出消息。此外,我想喜欢,收集和关注,我将继续更新各种Java学习博客!

猜你喜欢