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)
进程与线程的区别: 进程:独立的地址空间 、可运行多线程 线程:独立的堆栈、程序计数器、共享进程所有的资源
Live together,or Die alone!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步