进程和线程
进程和线程: 1、进程概念: 进程:就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据,操作系统管理所有进程的执行,为它们合理的分配资源。进程可以通过fork或spawn的方式来创建新的进程来执行其他的任务,不过新的进程也有自己独立的内存空间,因此必须通过进程间通信机制(IPC,Inter-Process Communication)来实现数据共享,具体的方式包括管道、信号、套接字、共享内存区等。 2、线程概念: 一个进程还可以拥有多个并发的执行线索,简单的说就是拥有多个可以获得CPU调度的执行单元,这就是所谓的线程。 3、多进程概念: Unix和Linux操作系统上提供了 fork() 系统调用来创建进程,调用 fork() 函数的是父进程,创建出的是子进程,子进程是父进程的一个拷贝,但是子进程拥有自己的PID。 fork() 函数非常特殊它会返回两次,父进程中可以通过 fork() 函数的返回值得到子进程的PID,而子进程中的返回值永远都是0。Python的os模块提供了 fork() 函数。由于Windows系统没有 fork() 调用,因此要实现跨平台的多进程编程,可以使用multiprocessing模块的 Process 类来创建子进程,而且该模块还提供了更高级的封装