
exec()介绍 exec(str [, globals [, locals]]函数执行一个表达式字符串并返回结果。参数globals和loca...
引言 讲到进程,不得不先说下linux的fork()函数,一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然...
初识 Python中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫...
用处 信号量semaphore 是用于控制进入数量的锁。有哪些应用场景呢,比如说在读写文件的时候,一般只能只有一个线程在写,而读可以有多个线程同...
为什么需要条件变量 有了前面提到的互斥锁,为什么还需要条件变量呢,当然是由于有些复杂问题互斥锁搞不定了。Python提供的Condition对象...
为什么需要同步 同样举之前的例子,两个线程分别对同一个全局变量进行加减,得不到预期结果,代码如下: 原因就是因为 += 和 -=并不是原子操作。...
为什么要通信 如果各个线程之间各干各的,确实不需要通信,这样的代码也十分的简单。但这一般是不可能的,至少线程要和主线程进行通信,不然计算结果等内...
背景 对于IO操作来说,多线程和多进程差别不大,甚至多线程比多进程效率更高,因为对于操作系统来说,线程的调度比多进程更加轻量。 下面从简单的爬虫...
GIL是什么 GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,而CPython是大部分环境下默...
文集作者