Linux 进程与线程的同步与互斥

进程之间的通信和同步方式:

1.管道(pipe)( 分为有名管道[父子间的进程],无名管道FIFO[无关进程](服务器与客户端进程,在同一台机器上))

2.消息队列 (mq, 可以使用共享内存实现) 

3.信号量 ( semaphore) (如linux的PV操作sem_post, sem_wait)

4.共享内存(mmap, munmap如linux的shmget, shmdt)

5.网络套接字(Unix域套接字,sockpair)

 

线程间的同步方法:

1.互斥锁 (pthread_mutex_lock)

2.条件变量(pthread_cond_wait,pthread_cond_sigal, pthread_cond_broadcast)

3.读写锁 (pthread_rwlock_rdlock,pthread_rwlock_wrlock)

4.记录上锁(fcntl)

4.信号量(semaphore)

进程与线程的区别: 进程:独立的地址空间 、可运行多线程            线程:独立的堆栈、程序计数器、共享进程所有的资源

posted @ 2012-11-01 20:00  苍术厚朴  阅读(1659)  评论(0编辑  收藏  举报