在python中进行多线程编程之前必须了解的问题:
1. 什么是线程?
答:线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。
2. 什么是多线程?
答:在单个程序中同时运行多个线程完成不同的工作,称为多线程。
3. 多线程编程的目的?
答:多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。
4. 如何再python中执行多线程编程?
答:在python2.x的版本中提供了thread(这个模块为多线程提供了一个底层 、原始的操作[也可以成为light-weight processes 或者 tasks) — 多个控制线程共享全局数据空间。为了多线程同步,提供了简单的锁(也称呼为 mutexes 后者 binary semaphores) 。]和threading(本模块的高层线程接口构建在低层的thread模块上)两个模块用于线程操作;而在python3.x中,官方只给出了threading模块的文档,对于底层线程造作放在了_thread模块中(即不建议使用)。是故在python中使用threading模块编程即可。
例一(一个简单的双线程程序):
1 import threading 2 import time 3 4 def run(n): 5 print("task-%s" % n) 6 time.sleep(5) 7 8 #实例化一个线程对象,target传入任务名,args以元组的形式传入任务函数的参数 9 task1 = threading.Thread(target=run, args=(1,)) 10 task2 = threading.Thread(target=run, args=(2,)) 11 12 task1.start() #线程启动 13 task2.start()