Python Thread(1)

    xiaoxiao2021-03-25  162

    在Python中在一个CPU上只能跑一个线程(由于GIL),不同于Java在一个CPU上可以跑多个线程。 但是在Python中在一个CPU上可以跑多个进程。

    创建线程方法之一 import threading, time def run(num): print 'Hi, I am %s...'%num time.sleep(1) if __name__ == "__main__": for i in range(20): #将重写的run()方法和参数传入 t = threading.Thread(target=run, args=(i,))#注意这里的【,】不能少 t.start() 创建线程方法之二 import threading, time #创建一个类,继承threading.Thread class MyThread(threading.Thread): #初始化 def __init__(self, arg): threading.Thread.__init__(self) #以下这种初始化父类方法也是对的 #super(MyThread, self).__init__() self.arg = arg #重写run()方法 def run(self): print 'I am %s thread'%self.arg time.sleep(1) if __name__ == "__main__": for i in range(10): t = MyThread(i) t.start() *线程锁***LOCK import threading, time #可以理解threading.RLock()是threading.Lock()的升级版 lock = threading.RLock() number = 0 def run(): global number #获取锁 lock.acquire() number += 1 #释放锁 lock.release() print number time.sleep(1) if __name__ == "__main__": for i in range(20): t = threading.Thread(target=run) t.start()
    转载请注明原文地址: https://ju.6miu.com/read-7297.html

    最新回复(0)