Java 프로그램의 단일 스레드가 자동으로 CPU에서 여러 코어를 사용할 수 있습니까?다중 코어를 사용하는 단일 스레드 프로그램
답변
Java 프로그램의 단일 스레드가 자동으로 CPU에서 여러 코어를 사용할 수 있습니까?
예 아니오. 단일 스레드 Java 프로그램은 GC, JMX, finalizer 및 기타 백그라운드 스레드가 다른 CPU (CPU 또는 코어)에서 실행될 수 있다는 점에서 여러 스레드를 사용합니다. GC 스레드는 특히 다른 CPU에서 실행될 수있는 경우 상당한 성능 향상을 제공합니다. 그러나 단일 스레드 응용 프로그램은 일 수 있지만 CPU간에을 이동하면 동시에 2 개의 CPU에서 실행되지 않습니다.
어떻게 알 수 있습니까?
더 어려운 질문이며 실행중인 아키텍처에 따라 다릅니다. * nix에서 ps
은 실행 대기열에 여러 개의 스레드가 있지만 실제로 여러 개의 CPU에서 실행 중임을 표시하지 않을 수도 있습니다.
다중 코어를 의미하는 것이 아니라 다중 물리적 CPU를 의미합니다. – user697911
같은 대답 @ user697911. JVM에서 코어/CPU 구분은 대부분 OS에 의해 완전히 숨겨져 있지는 않습니다. – Gray
OS는 코어와 CPU의 차이점을 알고있을 수 있지만 JVM은 논리적 CPU 만 인식합니다. –
정의에 의한 단일 스레드 인 경우 고유 한 코드가 여러 코어에서 실행되지 않습니다. 다중 코어에서 동시에 실행될 수있는 단일 스레드 응용 프로그램은 없습니다. 모르는 상태에서 다중 스레드 호출/라이브러리를 사용하지 않는 한.
내 애플리케이션을 더 빠르게 만들려면 다중 스레드로 만들어야합니까? 내 컴퓨터에는 16 개의 코어가 있고 하나의 코어는 100 % 이상의 CPU를 사용했지만 다른 하나는 무료입니다. 응용 프로그램이 매우 느립니다. – user697911
예, 알고리즘을 작성하여 스레드간에 작업이 분할되도록하는 방법을 알아야합니다. 예를 들어 for 루프를 사용하여 160 개의 요소 배열에 무언가를 수행하면 각각 10 개의 요소에서 작동하는 16 개의 스레드를 생성 할 수 있습니다. 그러나 이전 계산에 향후 계산이 필요하지 않은지 확인해야합니다. 예를 들어, 160 일이 넘는 총 이익을 계산할 경우 매일 계산할 때 이전 계산이 필요합니다. –
다중 스레드를 사용하면 더 많은 메모리가 사용됩니까? – user697911
- 1. 명백하게 다중 코어를 사용하는 단일 스레드 프로그램
- 2. Java 다중 스레드 프로그램이 다중 CPU 코어를 사용하는 방법은 무엇입니까?
- 3. JVM의 다중 스레드 - 다중 코어를 사용하는시기는 언제입니까?
- 4. 자바 단일 스레드 다중 사용자 채팅 프로그램
- 5. 단일 트랜잭션의 다중 스레드
- 6. 다중 CPU 코어를 자동으로 활용하는 스레드?
- 7. 단일 스레드 - 멀티 스레드 응용 프로그램
- 8. 파이썬 멀티 스레딩, 다중 코어를 어떻게 사용합니까?
- 9. 다중 스레드 환경에서 이전 단일 스레드 C++ 라이브러리를 사용하는 방법
- 10. UDP + java를 사용하는 다중 스레드 응용 프로그램
- 11. gtkD를 사용하는 다중 스레드 응용 프로그램
- 12. 다중 스레드 프로그램
- 13. 다중 스레드 프로그램 디버그
- 14. 스레드 부족 : GeventHTTPClient를 사용하는 UWSGI + 다중 스레드 Python 응용 프로그램
- 15. 다중 스레드 random_r이 단일 스레드 버전보다 느림
- 16. 다중 코어를 사용하는 Numpy np.einsum 배열 곱셈
- 17. 단일 스레드보다 느린 다중 스레드
- 18. 다중 생산자/단일 소비자 다중 스레드
- 19. TCPClient를 사용하는 다중 스레드
- 20. 다중 스레드 프로그램에서 프로그램 종료
- 21. 다중 스레드 웹 응용 프로그램 대 다중 스레드 웹 서버
- 22. 단일 스레드 및 다중 스레드 레시피를 혼합하여 make를 실행하십시오.
- 23. 단일 파일을 읽는 Java 다중 스레드 응용 프로그램
- 24. 다중 스레드 프로그램 스레드 결합 문제
- 25. 단일 스레드 응용 프로그램이 안드로이드에서 멀티 코어를 활용합니까?
- 26. 단일 (여분) 스레드를 사용한 다중 스레드 프로그래밍
- 27. 다중 스레드 MongoDB C++ 클라이언트 응용 프로그램 : 다중 DBClientConnections 대 단일 mutex 잠금 된 응용 프로그램?
- 28. 다중 스레드 응용 프로그램 디버깅
- 29. 다중 스레드 C# 응용 프로그램
- 30. 성능 - 멀티 스레드 또는 다중 프로세스 응용 프로그램
질문에 대한 질문에 대답하지 않아도되지만 한 명의 체크 아웃 텔러가 여러 개의 빈 체크 아웃 부스를 어떻게 활용할 수 있습니까? – Makoto