[Python] Queue, Stack

Python 2009. 10. 5. 16:01



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()






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()








'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
Posted by bloodguy
,