±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 103  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

jove1782

ľ³æ (ÕýʽдÊÖ)


[×ÊÔ´] PythonÏ̱߳à³Ì£¨Èý£©Í¬²½¶ÓÁÐ

ÎÒÃǾ­³£»á²ÉÓÃÉú²úÕß/Ïû·ÑÕß¹ØÏµµÄÁ½¸öÏß³ÌÀ´´¦ÀíÒ»¸ö¹²Ïí»º³åÇøµÄÊý¾Ý¡£ÀýÈçÒ»¸öÉú²úÕßÏ߳̽ÓÊÜÓû§Êý¾Ý·ÅÈëÒ»¸ö¹²Ïí»º³åÇøÀµÈ´ýÒ»¸öÏû·ÑÕßÏ̶߳ÔÊý¾ÝÈ¡³ö´¦Àí¡£µ«ÊÇÈç¹û»º³åÇøµÄ̫С¶øÉú²úÕߺÍÏû·ÑÕßÁ½¸öÒì²½Ï̵߳ÄËٶȲ»Í¬Ê±£¬ÈÝÒ׳öÏÖÒ»¸öÏ̵߳ȴýÁíÒ»¸öÇé¿ö¡£ÎªÁ˾¡¿ÉÄܵÄËõ¶Ì¹²Ïí×ÊÔ´²¢ÒÔÏàͬËٶȹ¤×÷µÄ¸÷Ï̵߳ĵȴýʱ¼ä£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸ö¡°¶ÓÁС±À´Ìṩ¶îÍâµÄ»º³åÇø¡£

´´½¨Ò»¸ö¡°¶ÓÁС±¶ÔÏó

import Queue
myqueue = Queue.Queue(maxsize = 10)

Queue.QueueÀ༴ÊÇÒ»¸ö¶ÓÁеÄͬ²½ÊµÏÖ¡£¶ÓÁг¤¶È¿ÉΪÎÞÏÞ»òÕßÓÐÏÞ¡£¿Éͨ¹ýQueueµÄ¹¹Ô캯ÊýµÄ¿ÉÑ¡²ÎÊýmaxsizeÀ´É趨¶ÓÁг¤¶È¡£Èç¹ûmaxsizeСÓÚ1¾Í±íʾ¶ÓÁ㤶ÈÎÞÏÞ¡£

½«Ò»¸öÖµ·ÅÈë¶ÓÁÐÖÐ

myqueue.put(10)

µ÷ÓöÓÁжÔÏóµÄput()·½·¨ÔÚ¶Óβ²åÈëÒ»¸öÏîÄ¿¡£put()ÓÐÁ½¸ö²ÎÊý£¬µÚÒ»¸öitemΪ±ØÐèµÄ£¬Îª²åÈëÏîÄ¿µÄÖµ£»µÚ¶þ¸öblockΪ¿ÉÑ¡²ÎÊý£¬Ä¬ÈÏΪ 1¡£Èç¹û¶ÓÁе±Ç°Îª¿ÕÇÒblockΪ1£¬put()·½·¨¾Íʹµ÷ÓÃÏß³ÌÔÝÍ£,Ö±µ½¿Õ³öÒ»¸öÊý¾Ýµ¥Ôª¡£Èç¹ûblockΪ0£¬put·½·¨½«Òý·¢FullÒì³£¡£

½«Ò»¸öÖµ´Ó¶ÓÁÐÖÐÈ¡³ö

myqueue.get()

µ÷ÓöÓÁжÔÏóµÄget()·½·¨´Ó¶Óͷɾ³ý²¢·µ»ØÒ»¸öÏîÄ¿¡£¿ÉÑ¡²ÎÊýΪblock£¬Ä¬ÈÏΪ1¡£Èç¹û¶ÓÁÐΪ¿ÕÇÒblockΪ1£¬get()¾Íʹµ÷ÓÃÏß³ÌÔÝÍ££¬Ö±ÖÁÓÐÏîÄ¿¿ÉÓá£Èç¹ûblockΪ0£¬¶ÓÁн«Òý·¢EmptyÒì³£¡£

ÎÒÃÇÓÃÒ»¸öÀý×ÓÀ´Õ¹Ê¾ÈçºÎʹÓÃQueue

# queue_example.py
from Queue import Queue
import threading
import random
import time
# Producer thread
class Producer(threading.Thread):
def __init__(self, threadname, queue):
threading.Thread.__init__(self, name = threadname)
self.sharedata = queue
def run(self):
for i in range(20):
print self.getName(),'adding',i,'to queue'
self.sharedata.put(i)
time.sleep(random.randrange(10)/10.0)
print self.getName(),'Finished'

# Consumer thread
class Consumer(threading.Thread):
def __init__(self, threadname, queue):
threading.Thread.__init__(self, name = threadname)
self.sharedata = queue
def run(self):
for i in range(20):
print self.getName(),'got a value:',self.sharedata.get()
time.sleep(random.randrange(10)/10.0)
print self.getName(),'Finished'

# Main thread
def main():
queue = Queue()
producer = Producer('Producer', queue)
consumer = Consumer('Consumer', queue)

print 'Starting threads ...'
producer.start()
consumer.start()

producer.join()
consumer.join()

print 'All threads have terminated.'

if __name__ == '__main__':
main()

ʾÀý´úÂëÖÐʵÏÖÁËÁ½¸öÀࣺÉú²úÕßÀàProducerºÍÏû·ÑÕßÀàConsumer¡£Ç°ÕßÔÚÒ»¸öËæ»úµÄʱ¼äÄÚ·ÅÈëÒ»¸öÖµµ½¶ÓÁÐqueueÖÐÈ»ºóÏÔʾ³öÀ´£¬ºóÕßÔÚÒ»¶¨Ëæ»úµÄʱ¼äÄÚ´Ó¶ÓÁÐqueueÖÐÈ¡³öÒ»¸öÖµ²¢ÏÔʾ³öÀ´¡£
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ jove1782 µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +10 ÀÁÑòÑòÇáÖÃÓñÍÎ 2026-04-02 11/550 2026-04-04 21:56 by laoshidan
[¿¼ÑÐ] 316Çóµ÷¼Á +9 Ä«³½_Orion926 2026-04-04 9/450 2026-04-04 21:35 by lbsjt
[¿¼ÑÐ] 070300»¯Ñ§Ñ§Ë¶311·ÖÇóµ÷¼Á +8 Áº¸»¹óÏÕÖÐÇó 2026-04-04 10/500 2026-04-04 20:57 by imissbao
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +12 Ò»ÑùYWY 2026-04-02 13/650 2026-04-04 20:49 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 315Çóµ÷¼Á +13 СÑòСÑò_ 2026-04-02 14/700 2026-04-04 20:30 by À¶ÔÆË¼Óê
[¿¼ÑÐ] ±¾¿Æ211£¬×¨Òµ085404£¬293·ÖÇëÇóµ÷¼Á +5 Á«²Ë¾ÍÊÇź°É 2026-04-04 5/250 2026-04-04 14:08 by ÕâÊÇÒ»¸öÎÞÁĵÄê
[¿¼ÑÐ] Ò»Ö¾Ô¸085404£¬×Ü·Ö291£¬Ëļ¶Òѹý£¬Çóµ÷¼Á +5 °¢¿¡°¢¿¡°¢¿¡ 2026-04-04 7/350 2026-04-04 13:23 by Á«²Ë¾ÍÊÇź°É
[¿¼ÑÐ] 266Çóµ÷¼Á +18 ÑôÑôÍÛÈû 2026-04-01 18/900 2026-04-03 18:38 by zllcz
[¿¼ÑÐ] ¿¼Ñе÷¼Á +3 Draa 2026-04-03 3/150 2026-04-03 17:37 by hgwz7468
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¶«Àí¹¤´óѧ£¬080500ѧ˶£¬317·Ö£¬Çóµ÷¼Á +13 s1145 2026-03-31 15/750 2026-04-03 11:44 by msi123
[¿¼ÑÐ] 311Çóµ÷¼ÁÒ»Ö¾Ô¸ºÏ·Ê¹¤Òµ´óѧ +15 Çï¶þÊ®¶þ 2026-03-30 15/750 2026-04-03 10:19 by linyelide
[¿¼ÑÐ] Çóµ÷¼Á£¡ÉúÎïÓëҽҩר˶ +4 Äæ×ªÂ½ÏÈÉú 2026-04-01 5/250 2026-04-03 08:33 by Jaylen.
[¿¼ÑÐ] 0856²ÄÁÏÓ뻯¹¤µ÷¼Á£¬339 +14 10213207 2026-03-31 14/700 2026-04-02 21:01 by 1104338198
[¿¼ÑÐ] 314Çóµ÷¼Á +11 1xiaojun23 2026-03-31 12/600 2026-04-02 12:31 by 1xiaojun23
[¿¼ÑÐ] ¡¾Çóµ÷¼Á¡¿ÐÂÄÜÔ´²ÄÁϱ¾¿Æ£¬Ò»Ö¾Ô¸211£¬³õÊÔ321 +6 Çóµ÷¼ÁѧУ£¬ 2026-04-02 6/300 2026-04-02 09:41 by Çç¿Õ210210
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷°²½»´ó²ÄÁÏѧ˶£¨Ó¢Ò»Êý¶þ£©347£¬Çóµ÷¼Áµ½¸ß·Ö×Ó/²ÄÁÏÏà¹Ø×¨Òµ +7 zju51 2026-03-31 9/450 2026-04-01 19:35 by CFQZAFU
[¿¼ÑÐ] Çóµ÷¼Á +4 ͼ¼ø212 2026-03-30 5/250 2026-04-01 15:32 by ͼ¼ø212
[¿¼ÑÐ] 08¹¤¿Æ£¬295£¬½ÓÊÜ¿çרҵµ÷¼Á +6 lmnlzy 2026-03-31 6/300 2026-04-01 11:02 by ÄæË®³Ë·ç
[¿¼ÑÐ] ±¾¿Æ211°²È«¹¤³Ì£¬³õÊÔ290·Ö£¬Çóµ÷¼Á +3 2719846834 2026-03-28 3/150 2026-03-31 13:52 by ÈÈÇéɳĮ
[¿¼ÑÐ] Çóµ÷¼Á +7 Çà´º²ÃΪÈý½Ø 2026-03-29 7/350 2026-03-30 13:14 by laoshidan
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û