파이썬 내부에 있는 하나의 함수를 동시에 실행하는 구조
import concurrent.futures
import time
def square_number(n): # 작업할 함수
print(f'Calculating square of {n}')
time.sleep(1) # 일부러 지연을 줘서 병렬처리 효과를 볼 수 있게 합니다.
return n * n
if __name__ == "__main__":
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# ProcessPoolExecutor를 사용하여 병렬 처리
with concurrent.futures.ProcessPoolExecutor() as executor:
# map을 사용하여 병렬 처리 작업을 수행합니다.
results = list(executor.map(square_number, numbers))
print(f'Results: {results}')
실행 결과
Calculating square of 1
Calculating square of 2
Calculating square of 3
Calculating square of 4
Calculating square of 5
Calculating square of 6
Calculating square of 7
Calculating square of 8
Calculating square of 9
Calculating square of 10
Results: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]