64 lines
1.4 KiB
Python
64 lines
1.4 KiB
Python
import threading
|
||
import multiprocessing as mp
|
||
from multiprocessing import Queue
|
||
#from queue import Queue #Thread 無法回傳值,所以要使用 Queue.put() 將要傳回的值存入 Queue,再用 Queue.get() 取出
|
||
import time
|
||
import os
|
||
import datetime
|
||
import logging
|
||
import cv2
|
||
from Process_class import Process_class
|
||
from Thread_class import Thread_class
|
||
|
||
log_file = f'LOG.txt'
|
||
# create logger
|
||
logger = logging.getLogger(log_file)
|
||
logger.setLevel(logging.DEBUG)
|
||
|
||
# create console handler and set level to debug
|
||
ch = logging.StreamHandler()
|
||
ch.setLevel(logging.DEBUG)
|
||
|
||
# create file handler and set level to info
|
||
fh = logging.FileHandler(log_file)
|
||
fh.setLevel(logging.INFO)
|
||
|
||
# create formatter
|
||
formatter = logging.Formatter(
|
||
'%(asctime)s - %(name)-36s - %(levelname)-8s - %(message)s')
|
||
|
||
# add formatter to console handler and file handler
|
||
ch.setFormatter(formatter)
|
||
fh.setFormatter(formatter)
|
||
|
||
# add console handler and file handler to logger
|
||
logger.addHandler(ch)
|
||
logger.addHandler(fh)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
if __name__=='__main__':
|
||
q = Queue()
|
||
name_list = ["A", "B", "C", "D"]
|
||
process_list = []
|
||
for i in range(0, len(name_list)):
|
||
process_list.append(Thread_class(name_list[i],q))
|
||
for i in range(0, len(process_list)):
|
||
process_list[i].start()
|
||
for i in range(0, len(process_list)):
|
||
process_list[i].join()
|
||
|
||
for i in range(0, len(process_list)):
|
||
#print(q.get())
|
||
print(process_list[i].test_return())
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|