进程之间的通信和同步方式:
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)
进程与线程的区别: 进程:独立的地址空间 、可运行多线程 线程:独立的堆栈、程序计数器、共享进程所有的资源