// 2023年4月13日15点52分
// 知识点:C++ 多线程
Q:已经有了进程,为什么还要有线程?
A:1. 线程比较省资源。和进程相比,它是一种非常"节俭"的多任务操作方式。在linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。(资源)
2. 线程之间的切换效率远远比进程高。运行于一个进程中的多个线程,它们之间使用相同的地址空间,而且线程间彼此切换所需时间也远远小于进程间切换所需要的时间。据统计,一个进程的开销大约是一个线程开销的30倍左右。(切换效率)
3. 线程之间的通讯比进程简单。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过进程间通信的方式进行,这种方式不仅费时,而且很不方便。线程则不然,由于同一进城下的线程之间贡献数据空间,所以一个线程的数据可以直接为其他线程所用,这不仅快捷,而且方便。
参考文献:
https://www.jianshu.com/p/d601ace77c9b
免责声明:
本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。