Python 多线程 实例

多线程实例

 1 import threading
 2 import time
 3
 4
 5 def eat():
 6     eatTime = time.time()
 7     for i in range(30):
 8         print(‘count = {}‘.format(count))
 9         time.sleep(1)
10     print ‘eat something in {}‘.format(eatTime)
11     return eatTime
12
13 def playGame():
14     playTime = time.time()
15
16     for i in range(30):
17         global count
18         count += 1
19         time.sleep(1)
20     print ‘play Game in {}‘.format(playTime)
21     return playTime
22 count = 0
23 theadEat = threading.Thread(target=eat)
24 theatPlay = threading.Thread(target=playGame)
25 theadEat.start()
26 theatPlay.start()
27 eatT = theadEat.join()
28 playT = theatPlay.join()
29
30 # eatT = eat()
31 # playT = playGame()
32
33 print("over in {}!".format(time.time()))

多线程代码

 1 count = 0
 2 count = 1
 3 count = 2
 4 count = 3
 5 count = 4
 6 count = 6
 7 count = 6
 8 count = 7
 9 count = 8
10 count = 9
11 count = 11
12 count = 11
13 count = 13
14 count = 14
15 count = 15
16 count = 16
17 count = 17
18 count = 18
19 count = 19
20 count = 20
21 count = 21
22 count = 22
23 count = 23
24 count = 24
25 count = 25
26 count = 26
27 count = 27
28 count = 28
29 count = 29
30 count = 30
31 play Game in 1551163617.11
32 eat something in 1551163617.11
33 over in 1551163647.13!

运行结果

原文地址:https://www.cnblogs.com/xsmile/p/10437313.html

时间: 2024-08-15 12:30:05

Python 多线程 实例的相关文章

Python多线程实例

前言 感觉理解python多线程用“切换”和“共享”就差不多了.这里就贴上一个抢车票的小小实例,还有自己在编程过程中遇到的坑..... 实例:抢车票 抢车票有三类人:会员.弄了加速包.普通人. 说说区别: 钱带来的不公平:会员先跑,然后加速包,最后普通人 可以欣慰的公平:跑道一样长 守护线程SetDaemon 不设置守护进程 1 import threading 2 import time 3 #使用函数式 4 5 #会员 6 def vip(t1): 7 global num 8 time.s

python多线程同步实例分析

进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清.一方面除了工作中可能用的比较少,另一方面就是这些概念牵涉到的东西比较多,而且相对较深.网络编程,服务端编程,并发应用等都会涉及到.其开发和调试过程都不直观.由于同步通信机制的原理都是想通的,本文希通过望借助python实例来将抽象概念具体化. 阅读之前可以参考之前的一篇文章:python多线程与多进程及其区别,了解一下线程和进程的创建. python多线程同步 python中提供两个标准库thread和thr

python多线程、多进程以及GIL

多线程 使用threading模块创建线程 传入一个函数 这种方式是最基本的,即调用threading中的Thread类的构造函数,然后指定参数target=func,再使用返回的Thread的实例调用start()方法,即开始运行该线程,该线程将执行函数func,当然,如果func需要参数,可以在Thread的构造函数中传入参数args=(-).示例代码如下 import threading #用于线程执行的函数 def counter(n): cnt = 0; for i in xrange

python多线程爬虫的简单例子

Python多线程(http://www.maiziedu.com/course/python/)主要是通过thread和threading这两个模块来实现的.thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用. 虽然python的多线程受GIL限制,并不是真正的多线程,但是对于I/O密集型计算还是能明显提高效率,比如说爬虫. 下面用一个实例来验证多线程的效率.代码只涉及页面获取,并没有解析出来. # -*-coding:utf-8 -*-

python多线程-threading模块

threading 是我们常用的用于 python 多线程的模块,其功能更加丰富.下面我们就来开始学习这个模块. 同样的,我这里声明一样我使用的版本是 python2.7,不同版本直接可能存在差异. 老规矩,使用 help() 函数获取帮助文档,看看里面有什么内容. threading 模块中提供了一个 thread 的类,注意不要和 thread 模块搞混了,两者差别还是很大的.thread 这个类可以实例化一个对象,每个对象代表一个线程,可以调用其中的 run() 方法来开启一个线程的运行.

Python多线程和多进程谁更快?

python多进程和多线程谁更快 python3.6 threading和multiprocessing 四核+三星250G-850-SSD 自从用多进程和多线程进行编程,一致没搞懂到底谁更快.网上很多都说python多进程更快,因为GIL(全局解释器锁).但是我在写代码的时候,测试时间却是多线程更快,所以这到底是怎么回事?最近再做分词工作,原来的代码速度太慢,想提速,所以来探求一下有效方法(文末有代码和效果图) 这里先来一张程序的结果图,说明线程和进程谁更快 一些定义 并行是指两个或者多个事件

[Python]多线程入门

Python的多线程有两种实现方法: 函数,线程类 1.函数 调用thread模块中的start_new_thread()函数来创建线程,以线程函数的形式告诉线程该做什么 # -*- coding: utf-8 -*- import thread def f(name): #定义线程函数 print "this is " + name if __name__ == '__main__': thread.start_new_thread(f, ("thread1",)

python多线程应用——DB2数据库备份

前言:DB2一个实例下,可以存在多个数据库,之前使用shell备份脚本,但是同一时刻只能备份一个数据库,对于几百G的备份文件,这个速度显然太慢,今天学习了Python多线程,刚好应用一下. 分析:1.磁盘I/O允许情况下,使用多线程,节省时间,相当可行. 2.Python多线程在某些场景上是鸡肋,但是对于I/O密集型的场景最为适用,这里刚好. 3.thread模块有诸多问题,这里使用threading模块. 4.先前备份脚本修改端口来清理已连接应用,太过暴力,虽然都为冷备,但每次重启开销太大,这

Python 多线程教程:并发与并行

Python 多线程教程:并发与并行 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程程序同时运行.因此,如果你是从其他语言(比如C++或Java)转过来的话,Python线程模块并不会像你想象的那样去运行.必须要说明的是,我们还是可以用Python写出能并发或并行的代码,并且能带来性能的显著提升,只要你能顾及到一些事情.如果你还没看过的话,我建议你看看