调用threading.Thread()是创建线程最简单的方法:
- start()开启线程
- join()阻塞主程序直到该线程执行完
同理创建多线程:
结果:
thread.start_new_thread()没用起来,不知道咋回事。不过threading是对thread做了封装的module,建议使用threading。
Python编程中为了保证共享数据操作的完整性,引入了对象互斥锁的概念。对于有互斥锁标记的对象,任意时刻只能被一个进程访问。Python中我们使用threading.RLock()。
执行结果:
mutex每次只能被一个进程访问。
acquire()获取该对象,release()释放该对象。threading可以多次对RLock进行acquire和release,但必须成对使用。