python多线程基础

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值