参考此博客
一、为什么要线程通信?
1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。
2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话,虽然可以实现,但是在很大程度会造成多线程之间对同一共享变量的争夺,那样的话势必为造成很多错误和损失!
3.所以,我们才引出了线程之间的通信,多线程之间的通信能够避免对同一共享变量的争夺。
二、什么是线程通信?
线程通信就是当多个线程共同操作共享的资源时,互相告知自己的状态以避免资源争夺。
三、线程通信的方式
线程通信主要可以分为三种方式,如下
- 共享内存
- 消息传递
- 管道流
每种方式有不同的方法来实现。