导语:
本文主要介绍了关于python threading线程同步如何实现的相关知识,希望可以帮到处于编程学习途中的小伙伴
说明
1、threading模块具有实现锁定的内置功能,允许同步线程。
为了防止数据损坏或丢失,需要锁定来控制对共享资源的访问。
2、可以调用Lock()方法来应用锁,它新的锁对象。
可以调用锁对象的acquire(阻塞)方法强制线程同步运行。
实例
#Python 多线程示例来演示锁定。
#1. 使用 threading.Thread 类定义子类。
#2. 实例化子类并触发线程。
#3. 在线程的 run 方法中实现锁。
import threading
import datetime
exitFlag = 0
class myThread (threading.Thread):
def __init__(self, name, counter):
threading.Thread.__init__(self)
self.threadID = counter
self.name = name
self.counter = counter
def run(self):
print("\nStarting " + self.name)
# 获取锁同步线程
threadLock.acquire()
print_date(self.name, self.counter)
# 为下一个线程释放锁
threadLock.release()
print("Exiting " + self.name)
def print_date(threadName, counter):
datefields = []
today = datetime.date.today()
datefields.append(today)
print("{}[{}]: {}".format( threadName, counter, datefields[0] ))
threadLock = threading.Lock()
threads = []
# 创建新线程
thread1 = myThread("Thread", 1)
thread2 = myThread("Thread", 2)
# 启动新线程
thread1.start()
thread2.start()
# 添加线程到线程列表
threads.append(thread1)
threads.append(thread2)
# 等待所有线程完成
for thread in threads:
thread.join()
print("\nExiting the Program!!!")
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python函数接收不同类型的参数10/20
- ♥ python中如何判断两个字符串不相等09/01
- ♥ 什么是Python中的递归函数12/01
- ♥ python中的Harris角点检测12/06
- ♥ 如何在linux上执行python程序10/13
- ♥ python诗歌创造虚拟环境11/28
内容反馈