队列

其实好多包都实现了队列这种数据结构,本篇重点介绍multiprocessing(mp)库的队列数据结构。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#
# Queue type using a pipe, buffer and thread
#

class Queue(object):

def put(self, obj, block=True, timeout=None):
# ...

def get(self, block=True, timeout=None):
# ...

def qsize(self):
# Raises NotImplementedError on Mac OSX because of broken sem_getvalue()
return self._maxsize - self._sem._semlock._get_value()

def empty(self):
return not self._poll()

def full(self):
return self._sem._semlock._is_zero()


#
# Simplified Queue type -- really just a locked pipe
#

class SimpleQueue(object):

def empty(self):
return not self._poll()

def get(self):
# ...

def put(self, obj):
# ...

可见SimpleQueue基本只实现了队列的get/put方法,而Queue还可查询队列的很多状态

------ 本文结束------
赞赏此文?求鼓励,求支持!
  • 本文标题: 队列
  • 本文作者: Jiang.G.F
  • 创建于: 2019年12月21日 - 22时12分
  • 更新于: 2020年03月03日 - 11时03分
  • 本文链接: https://gfjiangly.github.io/Python/queue.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
0%