首页 > 编程语言 > 详细

线程间的通信、同步方式与进程间通信方式

时间:2017-08-30 23:29:55      阅读:417      评论:0      收藏:0      [点我收藏+]

1.线程间的通信方式

1)使用全局变量(由于多个线程可能更改全局变量,因此全局变量最好声明为volatile)

2) 使用消息实现通信

 3)使用事件CEvent类实现线程间的通信

2.同步/异步(C端)

同步:在C端发出一个功能调用时,没有得到结果之前就不返回

异步: 一个请求通过事件触发后,得到服务器处理后才处理完毕

3. 阻塞/非阻塞(S端)

阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

非阻塞:非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

4.

1.) 同步,就是我客户端(c端调用者)调用一个功能,该功能没有结束前,我(c端调用者)死等结果。
2. )异步,就是我(c端调用者)调用一个功能,不需要知道该功能结果,该功能有结果后通知我(c端调用者)即回调通知。

3.) 阻塞,      就是调用我(s端被调用者,函数),我(s端被调用者,函数)没有接收完数据或者没有得到结果之前,我不会返回。
4. )非阻塞,  就是调用我(s端被调用者,函数),我(s端被调用者,函数)立即返回,通过select通知调用者

同步IO和异步IO的区别就在于:数据访问的时候进程是否阻塞!

阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

线程间的通信、同步方式与进程间通信方式

原文:http://www.cnblogs.com/zhaodun/p/7455694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!