Chủ đề trọng lượng nhẹ và trọng lượng nặng về Java là gì?Chủ đề trọng lượng nhẹ và trọng lượng nhẹ
Trả lời
Trong hầu hết các hệ thống Chủ đề trọng lượng nhẹ là chủ đề bình thường bạn tạo với sự trợ giúp của thư viện, như p_threads trong linux.
Trong khi trọng lượng nặng, trong một số hệ thống, hãy tham khảo quy trình hệ thống, với bộ nhớ ảo của riêng nó và cấu trúc phức tạp hơn, như thông tin về hiệu suất/thống kê quy trình.
Để biết thêm thông tin:
http://www.computerworld.com/s/article/66405/Processes_and_Threads
http://msdn.microsoft.com/en-us/library/ms684841(VS.85).aspx
Nó liên quan đến số lượng "bối cảnh" liên quan đến một chủ đề, và hậu quả là số lượng thời gian cần thiết để thực hiện một "bối cảnh chuyển đổi ".
Chủ đề hạng nặng, (thường là chủ đề cấp hạt nhân/cấp độ cao) có nhiều ngữ cảnh (thanh ghi phần cứng, ngăn xếp hạt nhân, v.v.). Vì vậy, phải mất rất nhiều thời gian để chuyển đổi giữa các chủ đề. Chủ đề hạng nặng cũng có thể có những hạn chế đối với chúng, ví dụ, trên một số hệ điều hành, luồng hạt nhân không thể được làm trống trước, có nghĩa là chúng không thể bị buộc phải chuyển sang cho đến khi chúng từ bỏ quyền kiểm soát.
Chủ đề nhẹ, mặt khác (thường là chủ đề không gian người dùng) có ngữ cảnh ít hơn nhiều. (Về cơ bản, họ chia sẻ cùng một bối cảnh phần cứng), họ chỉ cần lưu trữ bối cảnh của ngăn xếp người dùng, do đó thời gian để chuyển đổi các luồng nhẹ ngắn hơn nhiều.
Trên hầu hết các hệ điều hành, bất kỳ chủ đề nào bạn tạo dưới dạng lập trình viên trong không gian người dùng sẽ có trọng lượng nhẹ so với các luồng không gian hạt nhân. Không có định nghĩa chính thức về trọng lượng và trọng lượng nhẹ, nó chỉ là một sự so sánh giữa các luồng với nhiều bối cảnh và các luồng hơn với bối cảnh ít hơn. Đừng quên rằng mọi hệ điều hành đều có sự thực hiện khác nhau của các chủ đề khác nhau và các dòng giữa các luồng nặng và ánh sáng không nhất thiết phải được xác định rõ ràng. Trong một số ngôn ngữ lập trình và khuôn khổ, khi bạn tạo một "Chủ đề", bạn có thể thậm chí không nhận được một chủ đề đầy đủ, bạn chỉ có thể nhận được một số trừu tượng mà ẩn số lượng thực của các chủ đề bên dưới.
[Một số hệ điều hành cho phép chủ đề để chia sẻ không gian địa chỉ, vì vậy đề mà thường sẽ khá nặng nề, là hơi nhẹ]
đề tiêu chuẩn Java là hợp lý nặng so với đề Erlang được tiến trình spawnable rất nhẹ. Erlang thể hiện một máy trạng thái hữu hạn phân tán. Tuy nhiên, làm ví dụ, http://kilim.malhar.net/, thư viện tiện ích mở rộng Java dựa trên mô hình Diễn viên đồng thời, đề xuất cấu trúc cho các chuỗi trọng lượng nhẹ trong java. Thay vì Thread thực hiện run(), một luồng Kilim thực hiện từ thư viện Kilim bằng cách sử dụng phương thức execute(). Rõ ràng nó cho thấy thời gian chạy của Java tốt hơn Erlang (ít nhất là trong môi trường cục bộ AFAIK). Java đã thực sự có những thứ như vậy trong thông số ngôn ngữ gốc được gọi là 'các chủ đề màu xanh' nhưng các phiên bản Java tiếp theo đã thả chúng theo chủ đề gốc
- 1. là ống posix có trọng lượng nhẹ không?
- 2. Trọng lượng nhẹ HTTP Server thư viện trong .NET
- 3. Trọng lượng nhẹ thay thế cho ResourceBundle của Java?
- 4. Trọng lượng nhẹ PHP/MySQL CMS cho HTML5
- 5. Lớp trọng lượng nhẹ siêu bền java cần thiết
- 6. Quản lý cửa sổ X trọng lượng nhẹ/môi trường
- 7. Lớp bên trong có trọng lượng nhẹ không?
- 8. Thành phần đệm trọng lượng nhẹ nhất trong GridBagLayout
- 9. Nhiệm vụ có trọng lượng nhẹ so với Chủ đề không?
- 10. Giải pháp trọng lượng nhẹ tốt nhất cho Kéo và Thả là gì?
- 11. Spinlocks trọng lượng nhẹ được chế tạo từ các hoạt động nguyên tử GCC?
- 12. Các mẫu thiết kế có trọng lượng nhẹ tốt để tránh null trong Java là gì?
- 13. Trình kết xuất đồ họa trọng lượng nhẹ HTML với CSS bằng Python
- 14. Kịch bản JSON/ajax trọng lượng nhẹ, tốt nhất là gì?
- 15. Tùy chọn trọng lượng nhẹ nào phải tồn tại đối tượng Java
- 16. Công cụ tạo mô hình UML trọng lượng nhẹ thân thiện với bàn phím?
- 17. Bất kỳ môi trường trọng lượng nhẹ * nix nào để lập trình
- 18. Có bất kỳ diễn viên trọng lượng nhẹ nào trong Akka không?
- 19. Có thể sử dụng Khung Tự động hóa Kiểm tra Trọng lượng nhẹ (LTAF) trong Tích hợp Liên tục không?
- 20. Làm thế nào để thực hiện một back-off với Microsoft PPL trọng lượng nhẹ công việc lên lịch?
- 21. Làm cách nào để thanh toán trọng lượng có thể được thay đổi thành thanh toán nhẹ ở Bazaar?
- 22. Chrome không tôn trọng trọng lượng phông chữ?
- 23. Tính trọng lượng Hamming trong O (1)
- 24. Tùy chọn trọng lượng phông chữ CSS
- 25. trọng lượng không cân bằng cây AVL
- 26. Đặt Trọng lượng Mô-đun Drupal
- 27. khoảng cách Euclide với trọng lượng
- 28. Trọng lượng Android với lề và miếng đệm
- 29. Máy chủ ứng dụng web nhẹ cho PHP?
- 30. Chủ đề lượng tử?
@TFD - OP chỉ hỏi 4 câu hỏi, có rất nhiều thời gian để chấp nhận câu trả lời. – ChrisF