엑셀로 이해해보기
일반적인 큐 외에 다양한 정책이 적용된 큐들이 있음
import queue
data_queue = queue.Queue()
data_queue.put("funcoding")
data_queue.put(1)
data_queue.qsize()
2
data_queue.get()
'funcoding'
data_queue.qsize()
0
data_queue.get()
1
import queue
data_queue = queue.LifoQueue()
data_queue.put("funcoding")
data_queue.put(1)
data_queue.qsize()
2
data_queue.get()
1
import queue
data_queue = queue.PriorityQueue()
data_queue.put((10, "korea"))
data_queue.put((5, 1))
data_queue.put((15, "china"))
data_queue.qsize()
3
data_queue.get()
(5, 1)
data_queue.get()
(10, 'korea')
큐의 경우에는 장단점 보다는 (특별히 언급되는 장단점이 없음), 큐의 활용 예로 프로세스 스케쥴링 방식을 함께 이해해두는 것이 좋음
연습1: 리스트 변수로 큐를 다루는 enqueue, dequeue 기능 구현해보기
queue_list = list()
def enqueue(data):
queue_list.append(data)
def dequeue():
data = queue_list[0]
del queue_list[0]
return data
for index in range(10):
enqueue(index)
len(queue_list)
10
dequeue()
2