前段时间看完LINUX的线程,同步,信息号之类的知识之后,再在理解PYTHON线程感觉又不一样了。
作一些测试吧。
thread:模块提供了基本的线程和锁的支持
threading:提供了更高级别,功能更强的线程管理的功能
Queue:允许用户创建一个可以用于多个线程之间共享数据的队列数据结构
#!/usr/bin/env python # -*- coding: utf-8 -*- import thread from time import sleep, ctime loops = [4,2] def loop(nloop, nsec, lock): print ‘start loop ‘, nloop, ‘ at:‘, ctime() sleep(nsec) print ‘loop ‘, nloop, ‘ done at:‘,ctime() lock.release() def main(): print ‘starting at:‘,ctime() locks = [] nloops = range(len(loops)) for i in nloops: lock = thread.allocate_lock() lock.acquire() locks.append(lock) for i in nloops: thread.start_new_thread(loop,(i,loops[i],locks[i])) for i in nloops: while locks[i].locked(): pass print ‘all DONE at:‘, ctime() if __name__ == ‘__main__‘: main()
时间: 2024-11-05 23:48:08