您的位置:首页 > 编程语言 > Python开发

python多线程基础

2018-01-29 21:32 225 查看

1 简介

多线程类似于同时执行多个不同程序,多线程运行有如下优点:

使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

一个小的例子:

import threading
def text():
print('123')

a = threading.Thread(target=text)
a
#Out[5]: <Thread(Thread-1, initial)>
a.start()
#123


当有多个线程时,使用join()表示等待其他线程跑完之后才继续执行其以下语句。

2 加锁与释放锁

import threading
mlock = threading.Lock
mlock = threading.Lock()
num = 0
def a():
global num
mlock.acquire()#加锁
num +=1#要加锁的代码,防止运行期间被占用
mlock.release()#释放锁,有几个加锁要有几个释放
print(num)
for i in range(0,10):
d = threading.Thread(target=a)
d.start()

1
2
3
4
5
6
7
8
9
10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程 python 线程