PYTHON线程知识再研习A

前段时间看完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()
    

PYTHON线程知识再研习A

上一篇:EDIUS和会声会影的区别


下一篇:ab 压测工具使用