通信方式(手段)(一)

要实现多个线程之间的协同,如线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为下面四类:

1)文件共享

2)网络共享

3)共享变量

4)jdk提供的线程协调API

​ 细分为:suspend/resume 、wait/notify 、park/unpark

上述是常见的线程间通信的几种方式:

首先思考一个问题,为啥会需要线程之间的通信呢?

每一个系统,就像人一样,人不是单独存在的个体,而是以群体的形式存在,人与人之间通过语言的交流,进行信息,物资等方面的交换,而系统也是一样,一个系统不可能涵盖所有的功能,因此需要借助其他系统返回的结果,或者是将自己产生的结果作为其他系统的原始材料,而多个系统有可能运行在不同的计算机上,也有可能运行在相同的计算机上,因此需要线程间的协同工作才能进行,信息的就留,也就是说,线程之间的通信,主要是的目的或者作用,就是信息/结果 传递。

1)文件共享

​ 文件共享,是通过两个线程都可达的文件,进行沟通交流,这种情况更像古代的细作和接头人的联系方式相似,双方约定一个共同的地点,都将自己的情报,通过书信的形式送往约定地点,从而实现信息的共享

​ 在计算机中,该方式的核心特征 可以概括为,同一台计算机运行 多个系统,每个系统通过,计算机的内存或者硬盘,通过文件的方式进行数据交换。

2)网络共享

​ 网络共享,多体现为 运行在 不同 计算机 上 的多个系统间,进行数据信息的交换。

3)共享变量

​ 该情况多体现为 在 同一台计算机, 同一个系统中,不同的线程内,通过修改共享变量,从而实现线程之间的协同工作。

4)jdk提供的线程协调API

​ 首先该方式的前提,一定是同一个计算机,同一个系统中的不同线程之间进行的通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值