demon15

来源:互联网 发布:什么叫编程 编辑:程序博客网 时间:2024/06/06 00:00
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''多线程实例'''
importthreading
defworker(n):
print('start worker{0}'.format(n))

classMyThread(threading.Thread):
def__init__(self,args):
super(MyThread,self).__init__()
self.args =args
defrun(self):
print('start MyThread{0}'.format(self.args))
if__name__ == "__main__":
fori inxrange(1,6):
t1 = threading.Thread(target=worker,args=(i,))
t1.start()
t1.join()
forx inxrange(6,11):
t2 = MyThread(x)
t2.start()
t2.join()



#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''多线程锁'''
importtime
importthreading
defworker(name,lock):
withlock:
print('####start {}####'.format(name))
time.sleep(2)
print('####end {}####'.format(name))
##也可用lock.。。。的两种方法和进程一样的
if__name__ == "__main__":
lock = threading.Lock()
t1 = threading.Thread(target=worker,args=('worker1',lock))
t2 = threading.Thread(target=worker,args=('worker2',lock))
t1.start()
t2.start()


#!/usr/bin/env python
# -*- coding:utf-8 -*-

'''多线程共享变量'''
importthreading


defworker(l):
l.append("yi")
l.append("er")
l.append("san")

if__name__ == "__main__":
l =list()
l +=range(1,10)
print(l)
t = threading.Thread(target=worker,args=(l,))
t.start()
print(l)
原创粉丝点击