第六章:进程和线程
1.进程:进程是计算机中程序的执行实
例。每个进程都有自己的内存空间和系
统资源(如文件描述符),相互之间互不干扰。操作系统负责在进程之间切换,并确保每个进程都得到足够的CPU 时间。
2.线程:线程是进程中的一个执行路径。与进程相比,线程共享同一个地址空间和系统资源,因此创建、切换和销毁线程的操作比进程更轻量级。线程间的通信也更为方便。多线程编程需要考虑的关键问题是同步和互斥。
3.多线程编程的挑战:多线程编程需要处
理并发问题,如数据竞争、死锁等。为了解决这些问题,程序员需要使用各种同步原语(如互斥锁、条件变量等)来确保线程间的正确交互。