标签:
线程,有时被称为轻量级进程,是程序执行流的最小单元
线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指进行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
python中多个cpu无法同时处理一个进程或其子进程,多个cpu可以同时处理多个线程
1 import time 2 def f1(arg): 3 time.sleep(1) 4 print(arg) 5 import threading 6 t = threading.Thread(target = f1,args = (123,)) 7 #t.setDaemon(True)#表示主线程不等子线程 8 t.start()#不代表当前线程会立即被执行 9 t.join(2) #表示主线程到此等待。。。直到子线程执行完成#参数,表示住线程再次最多等待n秒 10 11 print(‘end‘) 12 #一秒后显示 13 >>>123 14 >>>end 15 16 import time 17 def f1(arg): 18 time.sleep(1) 19 print(arg) 20 import threading 21 t = threading.Thread(target = f1,args = (123,)) 22 t.setDaemon(True)#表示主线程不等子线程 23 t.start()#不代表当前线程会立即被执行 24 #t.join(2) #表示主线程到此等待。。。直到子线程执行完成#参数,表示住线程再次最多等待n秒 25 26 print(‘end‘) 27 #立即显示 28 >>>end
#我们可以写个类继承threading模块的Thead类并加入自定义的构造方法, #用来添加新功能 class MyThread(threading.Thread): def __init__(self,func,args): self.func =func self.args = args #继承父类的构造方法 super(MyThread,self).__init__() def run(self): self.func(self.args) def f2(arg): print(arg) obj = MyThread(f2,123) obj.start() >>>123
标签:
原文地址:http://www.cnblogs.com/liguangxu/p/5686558.html