python3 多线程
进程——资源分配的最小单位,线程——程序执行的最小单位 什么是进程? 程序的执行实例称为进程。每个进程都提供执行程序所需的资源。一个进程有一个虚拟地址空间,可执行代码,打开系统对象的句柄,安全上下文,一个独特的过程,pid标识符,环境变量,优先级类,最小和最大工作集大小, 并且至少有一个执行线程。 每个进程都是从一个线程开始的, 通常被称为主主线程,但是可以创建额外的 任何线程的线程。 进程与线程的区别? 线程共享内存空间,进程的内存是独立的, 同一个进程的线程之间可以直接交流,两个进程想通信,必须通过一个中间代理来实现, 创建新线程很简单, 创建新进程需要对其父进程进行一次克隆, 一个线程可以控制和操作同一进程里的其他线程,但是进程只能操作子进程 线程基本函数, run() 里面是需要执行的命令, start() 线程启动函数, join() 等待该线程结束, setDaemon(True) 设置为守护线程,设置守护线程需要放在线程启动前 Lock() 线程锁,防止数据的不准确行,线程执行时添加互斥锁 RLock() 递归锁,多个线程时需要添加递归锁,否则会出现锁死 BoundedSemaphore() 信息量,允许同时执行的最大线程数 threading.current_thread() ,当前线程; threading.active_count()