Professional Documents
Culture Documents
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()
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 start put into 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 1 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 start put into queue, Q Current size 1 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 start put into queue, Q Current size 1 at the 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 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 start put into queue, Q Current size 3 at the time
Wed Jul 8 16:40:54 2020