반응형
Python에서 Thread를 활용할 경우 인자가 하나인데 INT로 값을 던져줄때 발생하는 문제이다.
원인은 인자를 리스트 형태로 건내줘야 하는데, 값이 하나인 경우 int를 받아주지 못해서 발생한다.
해결 할 수 있는 방법은 두가지로 리스트로 만들거나, 콤마를 마지막에 추가해주는것이다.
아래 다음과 같은 예제코드에서 수정하는 방법은 다음과 같다.
from threading import Thread
import time
def thread_task(number):
print('thread start', number)
for x in range(1, 10):
Thread(target = thread_task, args = (x,)).start()
- 콤마를 추가
Thread(target = thread_task, args = (x,)).start()
- 리스트로 지정
Thread(target = thread_task, args = [x]).start()
추후 인자를 추가해 줄수 있으므로 콤마를 추가하는 방식을 추천한다.
반응형
'Python' 카테고리의 다른 글
Python - asyncio 코루틴 await 이해하기 (0) | 2024.03.25 |
---|---|
Django 4.x 주요 기능 정리(4.0, 4.1, 4.2) (0) | 2024.03.25 |
Python - 코루틴과 이벤트루프 이해 정리 (0) | 2024.03.25 |
Python - 멀티 쓰레드(thread) 이해 (0) | 2024.03.25 |
SQLAlchemy - QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30.00 (0) | 2024.03.25 |