Python 에는 Synchronized Queue 객체를 제공함.
multi thread에 써도 되고 그냥 써도 되고...
Queue
참고: http://docs.python.org/library/queue.html?Queue.Queue
#!/usr/bin/python
from Queue import Queue
# queue 생성. 인수로 아무것도 안넣으면 무한사이즈의 queue 생성
q = Queue(3)
# 숫자를 밀어넣음
q.put(1)
q.put(2)
q.put(3)
# get method로 뽑아냄
for i in range(q.qsize()):
print q.get()
from Queue import Queue
# queue 생성. 인수로 아무것도 안넣으면 무한사이즈의 queue 생성
q = Queue(3)
# 숫자를 밀어넣음
q.put(1)
q.put(2)
q.put(3)
# get method로 뽑아냄
for i in range(q.qsize()):
print q.get()
Stack
- 따로 제공되는 stack 객체는 없음.
Queue 객체를 상속받아 _get method를 재정의하는 방식으로 간단하게 가능.
#!/usr/bin/python
from Queue import Queue
class Stack(Queue):
def _get(self):
# 거꾸로 꺼내주면 Stack
item = self.queue[-1]
del self.queue[-1]
return item
s = Stack()
s.put(1)
s.put(2)
s.put(3)
for i in range(s.qsize()):
print s.get()
from Queue import Queue
class Stack(Queue):
def _get(self):
# 거꾸로 꺼내주면 Stack
item = self.queue[-1]
del self.queue[-1]
return item
s = Stack()
s.put(1)
s.put(2)
s.put(3)
for i in range(s.qsize()):
print s.get()
'Python' 카테고리의 다른 글
paramiko 설치 (0) | 2009.10.09 |
---|---|
[Python] PostgreSQL 사용하기 (0) | 2009.10.05 |
[Python] multi-thread에 queue 이용하기 (0) | 2009.10.05 |
[Python] threading 객체사용 (5) | 2009.10.05 |
[Python] thread 사용법 (0) | 2009.10.05 |