파이썬으로 무거운 연산(피보나치 계산, 이미지 처리같은거) 돌리는데 속도 올리려고 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% 찍히고 나머지는 안 씀. 스레드 여러개 만들면 병렬로 도는거 아닌가요?