반응형
여러개의 thread를 사용하면서 각각에서 반복문이 동작을 해야하는 경우
하단의 소스와 같이 사용하시면 됩니다
import threading
def threadTest(val):
while True:
print(val)
def processTest1():
test = "1"
thread = threading.Thread(target=threadTest, args=(test,))
thread.start()
def processTest2():
test = "2"
thread = threading.Thread(target=threadTest, args=(test,))
thread.start()
if __name__ == '__main__':
processTest1()
processTest2()
아래와 같이 사용해도 동작은 합니다
multiprocessing 하위에 thread를 구동 시켜보았습니다
여러 thread의 반복문이 잘 동작합니다.
하지만 위에 thread 소스 만큼의 속도는 나오지 않네요
from multiprocessing import Process, Queue, Pool
import threading
import time
def threadTest(val):
while True:
print(val)
def processTest1():
test = "1"
thread = threading.Thread(target=threadTest, args=(test,))
thread.start()
def processTest2():
test = "2"
thread = threading.Thread(target=threadTest, args=(test,))
thread.start()
if __name__ == '__main__':
start_time = time.time()
th1 = Process(target=processTest1(), args=())
th1.start()
th1.join()
th2 = Process(target=processTest2(), args=())
th2.start()
th2.join()
print("실행 시간 : %s초" % (time.time() - start_time))
반응형