多线程编程与资源同步
1. 基础
进程:一个进程代表计算机中实际运行的一个程序,在现代计算机操作系统的保护模式下,每个进程都具有自己独立的进程地址空间和上下文堆栈;进程并不负责执行进程代码,只是为程序提供一个大环境容器,进程中的实际执行体是线程(Thread),因此在一个进程中至少得有一个线程,这个线程被称为主线程;
线程是进程中实际执行代码的最小单元,具体由操作系统安排调度,决定其合适启动,运行,暂停,消亡;
在Windows系统下,当一个进程存在多个子线程的时候,如果主线程执行结束,这时子线程(支线程)即使还没有执行完相应的代码,也会退出。因此在Windows下设计多线程程序的时候,需要确保在子线程执行完之前,主线程保持不退出;
Linux系统下,主线程退出,不会影响子线程的执行,子线程还会继续运行,但是此时的进程会变成僵尸进程。在Linux下设计多线程程序时,应该避免这种情况;
标签:多线程,编程,主线,线程,进程,执行 From: https://www.cnblogs.com/ncepubye/p/17744807.html