繁体   English   中英

python锁如何知道要锁定哪个资源或对象? (理论值)

[英]how do python locks know which resource or object to lock? (THEORETICAL)

只是要清楚一点,我没有一个具体的示例,因为到目前为止,使用各种“如何”建议的方式都可以满足我的需要,而且我还没有遇到关于锁的任何问题,但是在python中使用锁确实引发了以下问题题

似乎调用lock.acquire()不需要指定要锁定的资源,这使我想知道python锁定如何知道要锁定哪个对象或资源?

import time import thread


def myfunction(string,sleeptime,lock,*args):
    while 1:    #entering critical section
        lock.acquire() 
        print string," Now Sleeping after Lock acquired for ",sleeptime
        time.sleep(sleeptime) 
        print string," Now releasing lock and then sleeping again"
        lock.release()  #exiting critical section
        time.sleep(sleeptime) # why?


lock=thread.allocate_lock()
thread.start_new_thread(myfunction,("Thread No:1",2,lock))
thread.start_new_thread(myfunction,("Thread No:2",2,lock))

其协同锁定。 锁仅在程序中的所有代码都同意在使用资源之前获得锁的范围内才对资源起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM