前言
线程间的通信是非常重要的,在不同的业务场景下要选择不同通信方案。
一.互斥量
1.需要依赖开发人员的规范
二.事件
首先我们要通过
CreateEvent
创建一个事件出来,然后我们在事件启动成功的地方使用SetEvent
设置事件的状态,这样子我们在WaitForSingleObject
的地方就可以接收到了,最后就可以进行CloseHandle
操作了。
二.消息机制
1.不需要加锁
2.传输的数据量有限
3.依赖于消息队列,而消息队列里面有大量的数据,会有30ms左右的延迟
4.不能同时处理两个消息(并发)
三.网络
四.IOCP,EPOLL
1.可以让网络的效率提高,随着线程的增多。性能不会急速下降!
2.网络为集群(多进程,跨服务器去协作)打下了铺垫,不用大改,小改就可以了