파이썬으로 무거운 연산(피보나치 계산, 이미지 처리같은거) 돌리는데 속도 올리려고 threading 써봤거든요
import threading
import time
def heavy_calc():
total = 0
for i in range(50_000_000):
total += i
return total
start = time.time()
threads = [threading.Thread(target=heavy_calc) for _ in range(4)]
for t in threads:
t.start()
for t in threads:
t.join()
print(f"소요시간: {time.time() - start:.2f}초")
이거 스레드 4개 돌렸는데 순차적으로 4번 돌린거랑 시간이 거의 똑같이 나와요. CPU도 작업관리자에서 보면 코어 하나만 100% 찍히고 나머지는 안 씀. 스레드 여러개 만들면 병렬로 도는거 아닌가요?