java实现线程通信的几种方式[通俗易懂]

java实现线程通信的几种方式[通俗易懂]前言在多线程的世界里,线程与线程之间的交互无处不在,只不过在平时的开发过程中,大多数情况下,我们都在单线程的模式下进行编码,即使有,也直接借助框架自身的机制实现了,其实线程之间的通信在JDK中是一个比较深的问题,比如大家熟知的消息中间件的实现,从某种角度上讲,就借助了多线程通信的思想,下面总结了JDK中常用的几种实现线程通信的方式,提供参考1、synchronized实现方式可能很多小伙伴们会有疑问,synchronized是对共享资源加锁使用的,怎么和线程通信扯在一起呢?这里纠正一个小小的偏见,也是

大家好,又见面了,我是你们的朋友全栈君。

前言

在多线程的世界里,线程与线程之间的交互无处不在,只不过在平时的开发过程中,大多数情况下,我们都在单线程的模式下进行编码,即使有,也直接借助框架自身的机制实现了,其实线程之间的通信在JDK中是一个比较深的问题,比如大家熟知的消息中间件的实现,从某种角度上讲,就借助了多线程通信的思想,下面总结了JDK中常用的几种实现线程通信的方式,提供参考

1、synchronized实现方式

可能很多小伙伴们会有疑问,synchronized是对共享资源加锁使用的,怎么和线程通信扯在一起呢?这里纠正一个小小的偏见,也是我近期才矫正过来的

我们要弄明白的一点是,为什么会存在线程通讯这个问题呢?根据一些技术大牛们的说法就是,多个线程之间需要相互传递一些参数、变量或者是各个线程的执行需要互相依赖各自的结果,比如我们熟知的生产者消费者模式,只有生产者生产出来了东西,消费者才能进行消费啊

这里模拟假如有2个线程,需要操作一个共享资源,即修改共享资源的数据,使用synchronized的方式如下:

public class SycDemo1 {

    private static Object lock = new Object();

    private static String weather = "sunny";

    public static void main(String[] args) {

        new Thread(()->{
            synchronized (lock){
                System.out.println("
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150725.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Timer和TimerTask详解

    如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK入门级的定期器Timer来执行重复任务。

    2022年4月9日
    84
  • SPI 协议简介

    SPI 协议简介1.SPI协议SPI协议是由摩托罗拉公司提出的通讯协议(SerialPeripheralInterface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。1.1SPI物理层SPI通讯设备之间的常用连接方式:SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为SS,它们的作用介绍如下:(1)SS(SlaveSelect):从设备选…

    2022年8月31日
    6
  • JS 取整 取余(C语言除法怎么取整怎么取余)

    JS取整取余取整1.取整//保留整数部分parseInt(3/2)  //12.向上取整//向上取整,有小数就整数部分加1Math.ceil(3/2)  //23.四舍五入//四舍五入Math.round(3/2)  //24.向下取整//向下取整,丢弃小数部分Math.floor(3/2)  //1取余…

    2022年4月11日
    47
  • 【HDU】5248-序列变换(贪心+二分)「建议收藏」

    【HDU】5248-序列变换(贪心+二分)

    2022年1月19日
    35
  • 光流法的理解

    光流法的理解光流法是比较经典的运动估计方法,本文不仅叙述简单明了,而且附代码,故收藏.在空间中,运动可以用运动场描述。而在一个图像平面上,物体的运动往往是通过图像序列中不同图象灰度分布的不同体现的。从而,空间中的运动场转移到图像上就表示为光流场,光流场反映了图像上每一点灰度的变化趋势。光流可以看作带有灰度的像素点在图像平面运动产生的瞬时速度场。下面我们推导光流方程:假设E(x,y,t)为(x,y)点在时刻t的…

    2022年7月23日
    5
  • SSRF漏洞原理解析[通俗易懂]

    SSRF漏洞原理解析[通俗易懂]文章目录0x01基础知识1、SSRF漏洞简介:2、主要攻击方式:3、漏洞形成原理:4、漏洞的危害:0x02漏洞检测1、漏洞验证:2、漏洞的可能出现点:0x03绕过方法:1、绕过限制为某种域名:2、绕过限制请求IP不为内网地址:3、限制请求只为http协议:0x04漏洞利用1、产生漏洞的函数:2、漏洞靶场:0x05如何防御SSRF0x01基础知识1、SSRF漏洞简介:SSRF全称:Server-SideRequestForgery,即服务器端请求伪造,是一个由攻击者构造请求在目标服务

    2022年6月25日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号