2017-06-26 7 views
0

複数のアイテムをキューに追加して同じ行に印刷する方法を教えてください。たとえば:複数の値をキューに追加/印刷する

q = queue.Queue() 

item_num = str(1) 
msg = "This list contians:" 
list_var = ["a","b","c"] 

q.put(item_num, msg, list_var) 
while not q.empty(): 
    print(q.get()) 

ただし、出力は1あるキューに入れ最初のものです。複数のアイテムをキューに入れて印刷し、それらを一緒に保管し続けるにはどうすればよいですか?

+0

これをシングルスレッドで実行している場合、 'queue.Queue'は使用する不良キューです。 'queue.Queue'は、スレッド間通信メカニズムとして特別に設計されており、そのユースケースに対応するインタフェースの決定とオーバーヘッドを備えています。単一のスレッドの中で、 'collections.deque'はより良いキューです。 – user2357112

+0

単一の 'put'呼び出しで複数の項目をキューに追加することはできません。 'msg'と' list_var'の値が追加されていないので、 'block'と' timeout'の値とみなされます。 – Kevin

+0

私は合計6つのスレッドを持っています。私は例として上記のコードを使用していました。 – GreenSaber

答えて

0

マニュアルを参照してください。 https://docs.python.org/2/library/queue.html

Queue.put(項目[、ブロック[タイムアウト]])

だから1によってキュー1にアイテムを配置する必要があります。

関連する問題