자바와 네이티브 스레드의 스레드의 차이점은 무엇입니까?자바의 스레드
자바의 스레드
답변
Java 스레드는 사양을 준수하는 방식으로 구현 될 수 있습니다. 사양에는 특정 구현이 필요하지 않습니다.
효과적으로 모든 최신 데스크탑 및/또는 서버 JVM은 Java 스레드를 원시 스레드로 구현합니다. 즉, 각 Java 스레드마다 정확히 1 개의 원시 스레드가 있고 운영 체제가 모든 예약을 수행한다는 것을 의미합니다. 예를 들어 C 프로그램에서와 마찬가지로.
자원이 제한적인 장치의 일부 구형 JVM 및 일부 JVM은 사용 된 원시 스레드 수가 실행중인 Java 스레드 수 (또는 가능하면 1)보다 작은 방식으로 스레드를 구현할 수 있습니다. 이러한 구현은 소위 "녹색 스레드"를 구현한다고합니다. 이 경우 운영 체제에 해당 작업을 위임하는 대신 JVM 자체가 작업 전환 및 예약을 담당합니다.
물론 JVM의 구현에 따라 다르지만, 나는 동일하다고 생각합니다. 즉, Java의 스레드는 원시 스레드를 통해 구현됩니다. 네이티브 스레드로 할 수있는 모든 종류의 일을 Java 쓰레드에서 기대할 수 있습니다.
자바 스레드와 기본 스레드는 완전히 다릅니다. 기본 스레드는 기본 플랫폼 (OS)의 일부입니다.
Java 스레드는 동시성을 지원하는 Java 언어의 기능 중 하나입니다. Java 사양은 API 및 Java 스레드의 기능을 제어합니다. 궁극적으로 Java 스레드는 Java 프로그램의 실행 중에 원시 스레드에 맵핑됩니다. 또한 자바 쓰레드는 네이티브 쓰레드와 일대일로 매핑 될 필요가 없다.
Java 스레드 (스레드 클래스 및 Runnable 인터페이스)는 메모리 공유 응용 프로그램의 원시 스레드보다 훨씬 높은 수준의 API입니다. Oaks and Wong이이 책 "Java Threads"를 추천했습니다 http://shop.oreilly.com/product/9780596007829.do. Runnable 인터페이스를 구현하는 것은 일반적인 관행이지만 코드 범위에 따라 다릅니다.
- 1. 자바의 데몬 스레드
- 2. 자바의 이벤트 스레드
- 3. 자바의 LinkedList의
- 4. 자바의 쿠키
- 5. 자바의 위젯
- 6. 자바의 JFrame
- 7. 자바의 동기화 된 메소드에서 도움이
- 8. 자바의 NIO 선택기와 동일한 .NET 닷넷
- 9. 자바의 얕은 복사
- 10. 자바의 전자 메일 클라이언트
- 11. 자바의 파일에 문자열 쓰기
- 12. 자바의 그리드 레이아웃
- 13. 자바의 식별자가 다른 버전입니까?
- 14. 만들기 자바의 exe
- 15. 자바의 날짜 비교
- 16. 자바의 화재 키 입력
- 17. 자바의 전자 메일 모듈?
- 18. 그레고리력에 자바의 시간대를 묻습니다.
- 19. 자바의 조건부 연산자
- 20. 자바의 시간대 표시
- 21. 자바의 동적 시계
- 22. 자바의 정규 표현
- 23. 자바의 varargs 성능
- 24. 자바의 멋진 압축 구현
- 25. 자바의 날짜 함수
- 26. 자바의 html truncator
- 27. 자바의 동적 텍스트 상자
- 28. 자바의 부분 URL 인코딩
- 29. 자바의 동적 JFrame
- 30. 자바의 전역 변수
누구든지 내게이 문제에 대한 참조를 줄 수 있습니까? –
@espertus 소스 코드 참조 HotSpot JVM 구현은 http://openjdk.org에서 찾을 수 있습니다. –