先搞清楚幾個單詞
queue模組實現了三類佇列:
佇列一般有 push pop size empty等
先進先出 q = queue.queue(maxsize)
後進先出 a = queue.lifoqueue(maxsize)
優先順序 queue.priorityqueue(maxsize)
queue.qsize() 返回佇列的大小
queue.empty() 如果隊列為空,返回true,反之false
queue.full() 如果佇列滿了,返回true,反之false
queue.full 與 maxsize 大小對應
queue.put(item) 寫入佇列,timeout等待時間 非阻塞
queue.get([block[, timeout]]) 獲取佇列,timeout等待時間
queue.get_nowait() 相當queue.get(false)
queue.put_nowait(item) 相當queue.put(item, false)
queue.task_done() 在完成一項工作之後,函式向任務已經完成的佇列傳送乙個訊號
queue.join(): 實際上意味著等到隊列為空,再執行別的操作
fifo(先進先出)import queue
q = queue.queue()
for i in range(5):
q.put(i)
while not q.empty():
print q.get()
lifo(後進先出)import queue
q = queue.lifoqueue()
for i in range(5):
q.put(i)
while not q.empty():
print q.get()
帶優先順序的佇列import queue
class job(object):
def __init__(self, priority, description):
self.priority = priority
self.description = description
print 'new job:', description
return
def __cmp__(self, other):
return cmp(self.priority, other.priority)
q = queue.priorityqueue()
q.put( job(3, 'mid-level job') )
q.put( job(10, 'low-level job') )
q.put( job(1, 'important job') )
while not q.empty():
next_job = q.get()
print 'processing job:', next_job.description
讓程式使用自帶的字型2
之前寫過一篇部落格,說明關於載入自帶字型的。不過後來發現使用addfontresource函式缺點不少。主要是建立的字型不是自己程式私有的,其他程式也可以使用到。而且函式呼叫後會在程式目錄建立乙個.fot格式的檔案。後來再次翻閱msdn時發現了addfontmemresourceex函式,這個函式可...
cocos2d x 自帶座標演算法
數學函式 c view plain copy ccp x,y 以座標x,y建立乙個向量 ccpfromsize s 以size s的width為x,height為y建立乙個向量 ccpoint的加減乘除運算運算 c view plain copy ccpadd v1,v2 等價 ccp v1.x v...
JDK自帶命令native2ascii的用法
jdk中自帶的native2ascii功能還是比較強的。簡單做以下介紹。1 只轉換特定字元 native2ascii 在控制台中可以輸入漢字回車後,就可以看到轉移後的字元了。ctrl c退出。2 轉換properties檔案 native2ascii allmessages zh cn input ...