한 스레드가 CPU의 100 %를 차지하면 다중 스레드 응용 프로그램이 중단됨

알라 사르

이 애플리케이션은 Python 2.7로 작성되었으며 Ubuntu 14.04에서 실행됩니다.

50 개의 스레드를 실행하고 하나의 스레드는 모든 CPU를 사용하고 (100 % 사용량은 htop에 표시됨) 다른 스레드는 계속 실행할 기회가 없습니다. 디스패처가 다른 스레드로 변경할 수없는 것 같습니다. 정상인가요?

스레드 대신 프로세스를 사용해야합니까? 다중 처리를 사용하기 때문에 더 많은 CPU를 사용할 수 있다고 생각합니다.

user3159253

https://wiki.python.org/moin/GlobalInterpreterLock

그리고 예, 다중 처리 는 아마도 귀하의 경우를 구현하는 데 권장되는 방법입니다. 또는 CPU를 많이 사용하지 않도록 매달린 스레드를 다시 작성하려고 시도 할 수 있습니다 ( 멈춘 이유에 따라 다르며 무언가를 계산할 가능성이 있음). 또는 적어도 time.sleep(0)@ user5402가 제안한대로 때때로 실행하십시오 .

또한 유용한 asyncio를 찾을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 스레드가 CPU의 100 %를 차지하면 다중 스레드 응용 프로그램이 중단됨

분류에서Dev

printf를 사용하지 않으면 다중 스레드 테스트 C 응용 프로그램이 중단됨

분류에서Dev

단일 스레드 CPU의 다중 스레드 응용 프로그램?

분류에서Dev

스레드를 결합하는 버튼으로 인해 win32 / winAPI 응용 프로그램이 중단됨

분류에서Dev

다중 스레드 응용 프로그램에서 재사용 가능한 코드의 타이머

분류에서Dev

다중 스레드 응용 프로그램의 프로세서 수 제한

분류에서Dev

(Spring) ThreadPoolTaskExecutor를 사용하는 다중 스레드 응용 프로그램

분류에서Dev

MPI를 사용하여 단일 프로세스이지만 다중 스레드 MFC GUI 응용 프로그램을 만드는 방법은 무엇입니까?

분류에서Dev

네이티브 코드를 호출하는 다중 스레드 관리 응용 프로그램

분류에서Dev

다중 스레드 응용 프로그램에 스레드를 저장하는 방법

분류에서Dev

다중 스레드 Java 응용 프로그램의 이상한 동작 (잠금없는 교착 상태?)

분류에서Dev

대기열을 사용하는 Python 다중 스레드-프로그램이 영원히 차단됨

분류에서Dev

다중 스레드 대 하나의 스레드를 사용한 Ruby 성능

분류에서Dev

단일 스레드 프로그램을 사용하는 대신 다중 스레드 프로그램과 병렬로 프로젝트를 컴파일 할 때 성능상의 이점이 있습니까?

분류에서Dev

단일 스레드 프로그램이 다중 코어를 사용하도록 만들 수 있습니까?

분류에서Dev

다중 스레드 응용 프로그램의 정적 메서드

분류에서Dev

NHibernate 데이터가 다중 스레드 응용 프로그램에서 동기화되지 않았습니다.

분류에서Dev

다중 스레드 응용 프로그램의 로그 대기열

분류에서Dev

Python : 다중 처리 스레드를 닫으면 전체 프로그램이 중지됨

분류에서Dev

다중 스레드 응용 프로그램을위한 ionice 설정

분류에서Dev

다중 스레드 응용 프로그램을위한 ionice 설정

분류에서Dev

두 개의 스레드가 데이터를 공유하는 다중 스레드 프로그래밍

분류에서Dev

다중 스레드 응용 프로그램에서 RichTextBox에 액세스하면 OutOfMemoryException이 발생합니다.

분류에서Dev

시스템 모니터가 프로그램이 100 % 이상의 CPU를 사용한다고보고하는 것은 무엇을 의미합니까?

분류에서Dev

시스템 모니터가 프로그램이 100 % 이상의 CPU를 사용한다고보고하는 것은 무엇을 의미합니까?

분류에서Dev

백그라운드 작업자를 사용한 후에도 내 응용 프로그램이 중단됩니다.

분류에서Dev

다중 스레드 C # MVVM 응용 프로그램의 ViewModel 개체에서 BeginInvoke ()를 호출하지 마십시오.

분류에서Dev

Linux 다중 스레드, 동일한 프로세스 내에서 다른 스레드를 계속 실행하면서 한 스레드를 일시 중지

분류에서Dev

gprof는 다중 스레드 응용 프로그램을 지원합니까?

Related 관련 기사

  1. 1

    한 스레드가 CPU의 100 %를 차지하면 다중 스레드 응용 프로그램이 중단됨

  2. 2

    printf를 사용하지 않으면 다중 스레드 테스트 C 응용 프로그램이 중단됨

  3. 3

    단일 스레드 CPU의 다중 스레드 응용 프로그램?

  4. 4

    스레드를 결합하는 버튼으로 인해 win32 / winAPI 응용 프로그램이 중단됨

  5. 5

    다중 스레드 응용 프로그램에서 재사용 가능한 코드의 타이머

  6. 6

    다중 스레드 응용 프로그램의 프로세서 수 제한

  7. 7

    (Spring) ThreadPoolTaskExecutor를 사용하는 다중 스레드 응용 프로그램

  8. 8

    MPI를 사용하여 단일 프로세스이지만 다중 스레드 MFC GUI 응용 프로그램을 만드는 방법은 무엇입니까?

  9. 9

    네이티브 코드를 호출하는 다중 스레드 관리 응용 프로그램

  10. 10

    다중 스레드 응용 프로그램에 스레드를 저장하는 방법

  11. 11

    다중 스레드 Java 응용 프로그램의 이상한 동작 (잠금없는 교착 상태?)

  12. 12

    대기열을 사용하는 Python 다중 스레드-프로그램이 영원히 차단됨

  13. 13

    다중 스레드 대 하나의 스레드를 사용한 Ruby 성능

  14. 14

    단일 스레드 프로그램을 사용하는 대신 다중 스레드 프로그램과 병렬로 프로젝트를 컴파일 할 때 성능상의 이점이 있습니까?

  15. 15

    단일 스레드 프로그램이 다중 코어를 사용하도록 만들 수 있습니까?

  16. 16

    다중 스레드 응용 프로그램의 정적 메서드

  17. 17

    NHibernate 데이터가 다중 스레드 응용 프로그램에서 동기화되지 않았습니다.

  18. 18

    다중 스레드 응용 프로그램의 로그 대기열

  19. 19

    Python : 다중 처리 스레드를 닫으면 전체 프로그램이 중지됨

  20. 20

    다중 스레드 응용 프로그램을위한 ionice 설정

  21. 21

    다중 스레드 응용 프로그램을위한 ionice 설정

  22. 22

    두 개의 스레드가 데이터를 공유하는 다중 스레드 프로그래밍

  23. 23

    다중 스레드 응용 프로그램에서 RichTextBox에 액세스하면 OutOfMemoryException이 발생합니다.

  24. 24

    시스템 모니터가 프로그램이 100 % 이상의 CPU를 사용한다고보고하는 것은 무엇을 의미합니까?

  25. 25

    시스템 모니터가 프로그램이 100 % 이상의 CPU를 사용한다고보고하는 것은 무엇을 의미합니까?

  26. 26

    백그라운드 작업자를 사용한 후에도 내 응용 프로그램이 중단됩니다.

  27. 27

    다중 스레드 C # MVVM 응용 프로그램의 ViewModel 개체에서 BeginInvoke ()를 호출하지 마십시오.

  28. 28

    Linux 다중 스레드, 동일한 프로세스 내에서 다른 스레드를 계속 실행하면서 한 스레드를 일시 중지

  29. 29

    gprof는 다중 스레드 응용 프로그램을 지원합니까?

뜨겁다태그

보관