Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中仅锁定队列的入口/出口_Python_Multithreading_Queue - Fatal编程技术网

在Python中仅锁定队列的入口/出口

在Python中仅锁定队列的入口/出口,python,multithreading,queue,Python,Multithreading,Queue,我有一套系统,其中包括— Queue & 2 types of instances - 1.push to the Queue 2.pull from Queue 我想同时从队列中推拉,但我不确定(我在文档中没有找到,也没有找到实现) 如果队列防止对同一内存的访问发生冲突 for example: There is zero elements in the Que

我有一套系统,其中包括—

Queue & 2 types of instances -
                             1.push to the Queue
                             2.pull from Queue
我想同时从队列中推拉,但我不确定(我在文档中没有找到,也没有找到实现) 如果队列防止对同一内存的访问发生冲突

for example:
    There is zero elements in the Queue -> I push and then I pull in the same time

我的问题是,如果队列没有保护它,有没有办法只锁定队列的入口或出口?

队列类知道并发访问并正确处理它。如果从队列(
queue.get()
)中提取,但队列中没有任何内容,则调用将被阻止或超时。如果推送到队列(
queue.put()
),则这将得到正确处理,并且只有在为队列设置了最大大小且队列已满时,调用才会被阻塞或超时

说:

队列
模块实现了多生产者、多消费者队列。信息技术 在线程编程中,当信息必须 在多个线程之间安全地交换。此队列中的
队列
类 模块实现所有必需的锁定语义。这取决于 Python中线程支持的可用性;请参阅
线程设置

模块


谢谢,这就是我要找的!