Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- docker
- jQuery
- php
- Oracle
- replace
- SVN
- yum
- 부모창
- mariadb
- TextBox
- 확장자
- smarty
- i18n
- 일괄변경
- Selectbox
- 문자열자르기
- RabbitMQ
- 천단위
- Python
- centos
- MySQL
- ubuntu
- install
- random
- Eclipse
- JavaScript
- TPL
- 한글 깨짐
- Postfix
Archives
- Today
- Total
wilson's story
multiprocessing , thread 사용하기 본문
반응형
여러개의 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))
반응형