1
나는 파이썬에서 스레드를 사용하여 shutil.make_archive를 사용하여 여러 폴더를 압축하려고합니다. 작은 폴더가 완전히 지퍼로 고정되고 동시에 다른 스레드도 지퍼 링을 멈추는 것을 볼 수 있습니다.shutil.make_archive는 thread로부터 안전한가요?
그럼, threadil.make_archive thread safe입니까?
나는 파이썬에서 스레드를 사용하여 shutil.make_archive를 사용하여 여러 폴더를 압축하려고합니다. 작은 폴더가 완전히 지퍼로 고정되고 동시에 다른 스레드도 지퍼 링을 멈추는 것을 볼 수 있습니다.shutil.make_archive는 thread로부터 안전한가요?
그럼, threadil.make_archive thread safe입니까?
shutil.make_archive()
은 이 아니고 스레드 안전합니다.
왜냐하면 프로세스의 전역 작업 디렉토리를 변경하기 때문입니다. 스레드는 자신의 작업 디렉토리를 가지고 있지 않습니다. 파이썬 2.7에서 관련 코드를 참조하십시오
save_cwd = os.getcwd()
if root_dir is not None:
if logger is not None:
logger.debug("changing into '%s'", root_dir)
base_name = os.path.abspath(base_name)
if not dry_run:
os.chdir(root_dir)
if base_dir is None:
base_dir = os.curdir
...
기능은 실행의 시작 부분에 현재 작업 디렉토리를 저장하고 반환하기 전에 복원, 그러나 이것은 스레드 안전을 위해 충분하지 않습니다.