发布时间:2019-09-12 07:58:26编辑:auto阅读(2039)
1.自定义线程池
import threading
import Queue
import time
queue = Queue.Queue()
def put_data_in_queue():
for i in xrange(10):
queue.put(i)
class MyThread(threading.Thread):
def run(self):
while not queue.empty():
sleep_times = queue.get()
time.sleep(sleep_times)
queue.task_done()
def main_function():
threads_num = 6
while True:
put_data_in_queue()
for i in xrange(threads_num):
myThread = MyThread()
myThread.setDaemon(True)
myThread.start()
queue.join()
time.sleep(60)
import threading
import Queue
import time
import signal
queue = Queue.Queue()
stop = False
def receive_signal(signum, stack):
signal.signal(signal.SIGTERM, original_sigterm)
global stop
stop = True
def put_data_in_queue():
for i in xrange(10):
queue.put(i)
class MyThread(threading.Thread):
def run(self):
while not queue.empty():
sleep_times = queue.get()
time.sleep(sleep_times)
queue.task_done()
def main_function():
threads_num = 6
while not stop:
put_data_in_queue()
for i in xrange(threads_num):
myThread = MyThread()
myThread.setDaemon(True)
myThread.start()
queue.join()
time.sleep(60)
if __name__ == "__main__":
original_sigterm = signal.getsignal(signal.SIGTERM)
signal.signal(signal.SIGTERM, receive_signal)
main_function()
上一篇: 万能的python-画图
下一篇: Python实现Restful API
49382
48578
39273
36357
30768
27581
26573
21393
21255
19601
246°
482°
474°
562°
916°
636°
1315°
1525°
1237°
1223°