You are on page 1of 2

In [18]:

import threading
from threading import *
from time import *
from queue import *

q=Queue(maxsize=3)

def main_put(q):
name=threading.currentThread().name
f= open('servers.txt').read()
f=f.split()
for i in f:
print(f"thread: {name} start put into queue, Q Current size {q.qsize()} at the t
q.put(i)
print(f"thread: {name} successfully put into queue, Q Current size {q.qsize()} a
q.join()

def main_get(q):
name=threading.currentThread().name
while True:
print(f"start get item {name} from queue, Q Current size {q.qsize()} at the tim
host=q.get()
sleep(2)
print(f"{name} finish process {host} from queue, Q Current size {q.qsize()} at t
q.task_done()

if __name__ == '__main__':
name=threading.currentThread().name
print(f"start the program {name}")
t_num=5
for i in range(t_num):
t=Thread(target=main_get, args=(q,))
t.start()

t1=Thread(target=main_put, name='main_put_thread', args=(q,)) ###one thread


t1.start()
q.join()

start the program MainThread


start get item Thread-82 from queue, Q Current size 0 at the time Wed Jul
8 16:40:52 2020

start get item Thread-83 from queue, Q Current size 0 at the time Wed Jul
8 16:40:52 2020

start get item Thread-84 from queue, Q Current size 0 at the time Wed Jul
8 16:40:52 2020

start get item Thread-85 from queue, Q Current size 0 at the time Wed Jul
8 16:40:52 2020

start get item Thread-86 from queue, Q Current size 0 at the time Wed Jul
8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 0 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 1 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 0 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 1 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 1 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 2 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 0 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 1 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 1 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 1 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 0 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 1 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 1 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 2 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 2 at the time
Wed Jul 8 16:40:52 2020

thread: main_put_thread successfully put into queue, Q Current size 3 at t


he time Wed Jul 8 16:40:52 2020

thread: main_put_thread start put into queue, Q Current size 3 at the time
Wed Jul 8 16:40:52 2020

Thread-82 finish process vm1 from queue, Q Current size 3 at the time Wed
Jul 8 16:40:54 2020

start get item Thread-82 from queue, Q Current size 3 at the time Wed Jul
8 16:40:54 2020

thread: main_put_thread successfully put into queue, Q Current size 3 at t


he time Wed Jul 8 16:40:54 2020
Thread-83 finish process vm2 from queue, Q Current size 3 at the time Wed
Jul 8 16:40:54 2020

thread: main_put_thread start put into queue, Q Current size 3 at the time
Wed Jul 8 16:40:54 2020

You might also like