首页 > 代码库 > PYTHON线程知识再研习A

PYTHON线程知识再研习A

前段时间看完LINUX的线程,同步,信息号之类的知识之后,再在理解PYTHON线程感觉又不一样了。

作一些测试吧。

thread:模块提供了基本的线程和锁的支持

threading:提供了更高级别,功能更强的线程管理的功能

Queue:允许用户创建一个可以用于多个线程之间共享数据的队列数据结构

#!/usr/bin/env python# -*- coding: utf-8 -*-import threadfrom time import sleep, ctimeloops = [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()    

PYTHON线程知识再研习A