파이썬 thread 예제

안녕하세요 엘리엇과 모든 .. 그 진짜 큰 영향 예. 새 스레드를 만들 때 사용되는 스레드 스택 크기를 반환합니다. 선택적 크기 인수는 이후에 생성된 스레드에 사용할 스택 크기를 지정하며 0(플랫폼 또는 구성된 기본값 사용) 또는 양수 정수 값(32KiB)이어야 합니다. 크기를 지정하지 않으면 0이 사용됩니다. 스레드 스택 크기를 변경해도 지원되지 않으면 RuntimeError가 발생합니다. 지정된 스택 크기가 잘못되면 ValueError가 발생되고 스택 크기가 수정되지 않습니다. 32 KiB는 현재 인터프리터 자체에 충분한 스택 공간을 보장하기 위해 지원되는 최소 스택 크기 값입니다. 일부 플랫폼에는 최소 스택 크기 32 KiB를 요구하거나 시스템 메모리 페이지 크기의 배수로 할당을 요구하는 등 스택 크기에 대한 값에 대한 특정 제한이 있을 수 있습니다. 정보(4KiB 페이지는 일반적이며 스택 크기에 대해 4096의 배수를 사용하는 것은 보다 구체적인 정보가 없는 경우 제안된 접근 방식입니다). 가용성: Windows, POSIX 스레드가 있는 시스템입니다. 시간 지정 인수가 없음이 아닌 경우 작업에 대한 시간 지정을 몇 초(또는 그 분수)로 지정하는 부동 소수점 번호여야 합니다. join() 항상 없음을 반환하므로 join() 후에 is_alive() 호출을 호출하여 시간 지정이 발생했는지 여부를 결정해야 합니다.

이제 단일 스레드와 .update()에 대한 단일 호출로 위의 프로그램을 실행하면 어떻게 되는지 탐색할 수 있습니다. 위의 프로그램의 출력을 좀 더 자세히 살펴보겠습니다. 마지막 두 줄은 흥미로운 비트입니다. 프로그램을 실행하면 __main___이 모든 완료 된 메시지를 인쇄한 후 스레드가 완료되기 전에 일시 중지 (약 2 초)가 있음을 알 수 있습니다. 정말 흥미로운 부분인 파이프라인을 살펴보기 전에 이러한 스레드를 생성하는 __main__ 섹션은 다음과 같습니다: 1-10에서 숫자를 인쇄하고 각 인쇄 사이에 1초를 기다리는 스레드 만들기: 이 클래스는 조건 변수 개체를 구현합니다. 조건 변수를 사용하면 하나 이상의 스레드가 다른 스레드에 의해 알림을 받을 때까지 기다릴 수 있습니다. 아마도 파이썬 프로그래밍 언어의 가장 큰 단점 중 하나는 단일 스레드라는 것입니다. 즉, 파이썬은 단일 스레드에서만 자연스럽게 실행됩니다. 큰 계산 작업이있는 경우 파이썬이 솔루션에 도달하는 데 매우 오랜 시간이 걸리지만 프로세서가 5 % 사용량 또는 그 이하에 있을 수 있습니다. 스레딩, 멀티프로세싱 및 GPU 프로그래밍과 같은 이 문제에 대한 몇 가지 해결 방법이 있습니다. 이 모든 것이 파이썬으로 가능하며, 오늘 우리는 스레딩을 다룰 것입니다.