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)
阅读全文
0 0
- demon15
- 为C++编写图形化的调试可视化工具(Writing graphical debugger visualizers for C++)
- UVa1590 找最小子网掩码,和子网ip
- java jsp 执行过程
- Android ndk获取手机内部存储卡的根目录
- Python操作MySQL数据库
- demon15
- 2017年度总结-2018总体规划
- 哈希学习代码
- 结构、枚举、数组
- hive中数据排序
- Tensorflow实例:实现深度强化学习--策略网络
- Python基础-@property
- 关系型数据库与NoSQL的对比
- pico i.MX7 Dual (I.MX7D)刷入AndroidThings