打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
多进程及多线程之间同步与通信
[转]http://blog.csdn.net/neustar1/article/details/7489406

同步与互斥:简单的控制

通信:交互的信息更多

Windows和Linux下用于同步与通信的机制大体一致,下面简单做一个归纳。

1.多线程的同步

方式                         Windows                                 Linux                                  备注

原子操作                     有                                            有                                      速度快

互斥锁                     临界区和Mutex                       pthread_mutex_t              此外还有自旋锁,读写锁等扩展,用于互斥,保证一个时刻只有一个线程执行

条件变量                Event                                        pthread_cond_t                用于同步。

信号量                   Semaphore                             sem_t                                 用于控制资源的访问


2.多进程的同步

方式                      Windows                                 Linux     

互斥锁                  Mutex                                    pthread_mutex_t

条件变量              Event                                    pthread_cond_t

信号量                 Semaphore                         sem_t

多进程的同步方式与多线程的同步方式基本一致,除了不能使用原子操作外;另外对于同步对象的创建方式上稍有差异。


3.多进程的通信

方式                    Windows                                  Linux

信号                      无                                        异步的通信机制

共享内存             有                                                有

匿名管道             有                                                有

命名管道/FIFO    有                                               有

消息队列             有                                               有

套接字                 有                                               有

此外还有一些特殊的机制,如内存映射文件,邮箱等机制。




本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux 多线程通信
多线程下 ,linux和 windows开发应注意的区别 - jamesf1982的专栏 ...
进程、线程间通信
Linux多线程编程和Linux 2.6下的NPTL
Linux下的多线程编程
Linux多线程编程(不限Linux)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服