python学习—Day43—多线程
来源:互联网 发布:asp.net程序员 编辑:程序博客网 时间:2024/06/06 10:04
多线程:
python中提供了threading模块来对多线程的操作。
线程是应用程序中工作的最小单元。
多线程实现有两种方式:
一:将要执行的方法作为参数传给Thread的构造方法(和多进程类似) t = threading,Thread(target=action, args=(i,))
二:从Thread继承,并重写run()
#@File :duoxiancheng_eg.pyimport threadingdef worker(n): print("start worker{0}".format(n))class Mythread(threading.Thread): def __init__(self, args): super(Mythread, self).__init__() self.args = args def run(self): print("start Mythread{0}".format(self.args))if __name__ == "__main__": for i in xrange(1, 6): t1 = threading.Thread(target=worker, args=(i,)) t1.start() t1.join() for x in xrange(6, 11): t2 = Mythread(x) t2.start() t2.join()
start worker1start worker2
start worker3
start worker4
start worker5
start Mythread6
start Mythread7
start Mythread8
start Mythread9
start Mythread10
多线程锁:
#@File :duoxiancheng_lock.pyimport threadingimport timedef worker(name, lock): with lock: print("start {0}".format(name)) time.sleep(5) print("end {0}".format(name))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() print("main end")
start worker1main end
end worker1
start worker2
end worker2
与多进程类似。
阅读全文
0 0
- python学习—Day43—多线程
- 《从零开始学Swift》学习笔记(Day43)——构造函数继承
- 《从零开始学Swift》学习笔记(Day43)——构造函数继承
- python学习——多线程
- Python多线程学习——读后随涂
- python学习笔记——多线程编程
- python学习笔记——多线程编程
- python学习笔记——多线程(MT)
- 达内学习日志Day43:AddAccountServlet(通过JDBC连接)
- python学习笔记——多线程同步问题
- python学习笔记——多线程同步问题
- Python学习笔记——多线程,多进程
- <28>python学习笔记——多线程 / 多进程
- Python多线程学习
- python 多线程学习
- Python多线程学习
- Python多线程学习
- Python多线程学习
- 新玩法异常火爆,惠民还是另藏骗局
- 5.4.2 RegExp实例方法
- jq动态生成的元素(标签)添加点击事件
- pandas入门(上)
- Tensorlayer学习笔记——LSTM
- python学习—Day43—多线程
- android 跑马灯
- 我对小班研讨课的感受
- md test
- android 串口编程
- 5.1.Spring之自动装配
- 如何搭建Redis集群与Jedis连接集群
- SparkRDDAPI常用算子说明
- 我的Kotlin学习之旅(四)