摘要: 多线程和多进程区别:1.进程之间数据分开,进程间通信需要特殊的ipc机制(管道,信号量,共享内存,消息队列),线程存在于进程内,线程之间共享进程的堆区间,全局静态存储区,而各自拥有自己独立的栈空间,同步数据用互斥量2.进程的创建,销毁,切换复杂,速度慢,线程是轻量级进程。3.进程占用内存多,cpu利 阅读全文
posted @ 2020-01-10 17:00 GoingNow 阅读(223) 评论(0) 推荐(0)
摘要: 五种通讯方式 1.管道:速度慢,容量有限,只有父子进程能通讯 在内核中申请一块固定大小的缓冲区,程序有写入和读取的权利,一般使用fork函数实现父子进程的通信. int pipe(int fd[2])fd[1]写入数据,fd[0]读出数据,默认情况,这对描述符都是阻塞. 2.FIFO:任何进程间都能 阅读全文
posted @ 2020-01-10 16:58 GoingNow 阅读(135) 评论(0) 推荐(0)
摘要: I/O复用使得程序可以同时监听多个文件描述符,可以提高程序的性能. I/O复用虽然能同时监听多个文件描述符,但是它本身是阻塞。并且当多个文件描述符同时就绪时,如果不采取额外的措施,程序只能按顺序依次处理每一个描述符。使得服务器程序是串行工作。如果要实现并发,只能使用多进程或者多线程等手段. sele 阅读全文
posted @ 2020-01-10 14:06 GoingNow 阅读(128) 评论(0) 推荐(0)