py并发/_thread实现多线程笔记
_thread实现多线程
如果要进行多线程的开发,那么一定要使用Python提供的模块来完成(因为整个多线程的实现都牵扯到与操作系统的底层交互,所以这部分的交互全部交由Python虚拟机完成),但是早期的Python提供的多线程开发模块为“_thread”,这次首先对这个模块的使用进行一些基本的说明。
python多线程
1 | |
[Thread - 1]num = 0[Thread - 2]num = 0[Thread - 0]num = 0
[Thread - 4]num = 0
[Thread - 3]num = 0
[Thread - 1]num = 1[Thread - 2]num = 1
[Thread - 3]num = 1
[Thread - 4]num = 1
[Thread - 0]num = 1
[Thread - 1]num = 2[Thread - 2]num = 2[Thread - 4]num = 2[Thread - 0]num = 2
[Thread - 3]num = 2
[Thread - 2]num = 3[Thread - 1]num = 3[Thread - 3]num = 3[Thread - 4]num = 3
[Thread - 0]num = 3
[Thread - 4]num = 4[Thread - 1]num = 4[Thread - 3]num = 4
[Thread - 0]num = 4
[Thread - 2]num = 4
通过当前的执行结果可以发现,若干个线程彼此之间都是可以直接进行并行执行的,所以这里面会牵扯到资源的争抢与运行,随着你个人电脑硬件配置的水平,执行的速度肯定会越来越快。
在python3的开发宝里面,对于“_thread”多线程的实现模块前面追加了一个“_”(在Python2的时候并没有)核心的目的就是不建议开发者继续使用此模块进行多线程的开发了,而是使用threading模块来完成多线程编写,因为这个新的模块内部提供了大量方便的处理类,可以方便的进行线程同步的控制。