python线程
线程是进程执行的最小单元
测试多线程 demo
import threading
import time
def test(a,b):
for i in range(100):
print i
time.sleep(3)
if __name__ == '__main__':
for i in ['wangzi','yy']:
print i
t = threading.Thread(target=test,
args=('customer_id', 'oper_id'))
t.start()
time.sleep(5)
print('end------------')
输出结果:
import time,threading
def wangzi1():
print("wangzi111")
time.sleep(3)
print("111ok")
def wangzi2():
print("wangzi2222")
time.sleep(3)
print("222ok")
if __name__ == '__main__':
w1 = threading.Thread(target=wangzi1,name=1)#创建子线程
#w1.setName('haha')#修改线程的名称
#print(w1)#打印线程的名称
w2 = threading.Thread(target=wangzi2,name=2)
#w2.getName()
#print(w2)
w1.setDaemon(True)
w2.setDaemon(True)#守护线程,主线程一旦结束,子线程不管有没有执行完毕直接结束
w1.start()#启动子线程
w2.start()
#阻塞
w1.join()#没执行完,不能继续往下走
w2.join()
print("我今天真美") #主线程没有等待子线程完成
#主线程需要用到子线程的结果,需要进行阻塞
#获取当前执行代码线程的名称
def task(arg):
name = threading.current_thread.getName()
print(name)