print(f"처리 시간: {process_time}")
if __name__ == "__main__":
crypto_hash = \
"e24df920078c3dd4e7e8d2442f00e5c9ab2a231bb3918d65cc50906e49ecaef4"
length = 8
crack_password_parallel(crypto_hash, length)
➊ 패스워드를 발견했다.
➋ 현재 청크에서 패스워드를 발견하지 못했다.
➌ 시스템에서 현재 사용할 수 있는 CPU 코어 수를 확인한다.
➍ 서로 다른 프로세스에서 동시적으로 청크 여러 개를 처리한다.
➎ 더 이상의 작업이 없다는 의도를 나타내기 위해 풀을 닫는다.
➏ 풀에 맡겨진 모든 작업이 끝날 때까지 기다렸다가 프로그램의 나머지 부분을 실행한다.
코드를 실행하면 주 스레드에서 CPU 코어 수만큼의 워커 스레드를 가진 스레드 풀을 만든다. 각 워커 스레드는 2장에서 작성했던 코드가 하던 일을 그대로 수행한다. 다만, 각 후보 뭉치를 동시에 처리한다는 점이 다르다. 다음과 비슷한 내용이 출력될 것이다.