本篇文章为大家展示了怎么在python中利用互斥锁分配资源,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
python的五大特点是什么
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
1、threading模块中定义了Lock类,可以实现锁
创建锁对象: mutex = threading.Lock()
上锁: mutex.acquire()
释放锁: mutex.release()
2、注意
如果这个锁之前是没有上锁的,那么acquire就不会阻塞
如果调用acquire之前这个锁是被其它线程上了锁的,那么acquire就会阻塞,直到这个锁被释放
3、实例
import threadingimport time num = 0def count_test1():global numfor i in range(100000):mutex.acquire()num += 1mutex.release()print("count_test1-->num:%s"%num) def count_test2():global numfor i in range(100000):mutex.acquire()num += 1mutex.release()print("count_test2-->num:%s"%num) mutex = threading.Lock()t1 = threading.Thread(target=count_test1)t2 = threading.Thread(target=count_test2) t1.start()t2.start() t1.join()t2.join() print("最终的num:%s"%num)
上述内容就是怎么在python中利用互斥锁分配资源,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。