#!/usr/bin/env python
# _*_coding:utf-8 _*_
#@Time :2018/4/4 18:50
#@Author :niutianzhuang
#@FileName: thread_Lock.py
#@Software: PyCharm
'''多线程安全机制--使用锁 threading.Lock()
从程序逻辑角度,python和java的多线程安全机制都可以使用锁机制,且简单易用'''
import threading #导入线程包
import time #导入时间包,用于睡眠线程,方便演示效果
'''''
#创建两个同样的函数,直观对比不使用锁机制,两个线程同时进行(并行执行)
def meituan():
for x in range(5):
print('meituan:' +str(x))
time.sleep(0.01) #线程睡眠0.01秒
def didi():
for x in range(5):
print('didi:' +str(x))
time.sleep(0.01) #线程睡眠0.01秒
meituan = threading.Thread(target = meituan)
didi = threading.Thread(target = didi)
meituan.start() #开启线程a
didi.start() #开启线程b
输出结果:
meituan:0
didi:0
meituan:1
didi:1
didi:2
meituan:2
meituan:3
didi:3
didi:4
meituan:4
'''
#使用锁,使得两个线程按照次序执行,先meituan后didi(先didi后meituan也可以)
lock = threading.Lock() #调用线程锁方法 使用同一个锁的线程,当前线程释放锁后,另一个才能开
线程安全机制 python
最新推荐文章于 2025-05-11 14:56:52 发布