Tôi đã đọc về mutex, semaphores và các phần quan trọng. Tôi hiểu rằng mutex đồng bộ hóa một tài nguyên để chỉ có một luồng truy cập vào nó tại một thời điểm mà semaphore cho phép một luồng không có chủ đề cụ thể truy cập vào một tài nguyên nhưng những phần quan trọng nào làm?Các phần quan trọng trong chủ đề
Trả lời
Trong sử dụng bình thường, một phần quan trọng là một phần của mã phải được thực thi serially - tức là chỉ có một luồng có thể thực thi mã đó tại bất kỳ thời điểm nào. Bạn thường thực hiện điều đó bằng cách bảo vệ mã bằng một semaphore mutex.
Trong ngôn ngữ Windows, phần quan trọng là cấu trúc dữ liệu (và một vài hàm liên quan) triển khai tại semaphore mutex theo quy trình cụ thể (ví dụ, chỉ được sử dụng để khóa giữa các luồng trong một quy trình duy nhất, chứ không phải giữa các quy trình riêng biệt).
Có hai loại semaphores. Một semaphore mutex cho phép chỉ có một thread thực hiện tại một thời điểm. Một semaphore tính cho phép bạn xác định số lượng tối đa của các chủ đề có thể thực hiện cùng một lúc. Các semaphores mutex là giống phổ biến hơn, nhưng tính semaphores chắc chắn có sử dụng là tốt.
Cảm ơn ý nghĩa – Rajeshwar
Là một "semaphore mutex" giống như một "semaphore nhị phân" (có một [SO câu hỏi liên quan] có liên quan (http://stackoverflow.com/questions/62814/difference-between-binary-semaphore -and-mutex))? Thuật ngữ đôi lúc có thể gây nhầm lẫn. –
Không, cả hai không giống nhau. Một mutex bị khóa chỉ có thể được mở khóa bởi bất cứ ai đã khóa nó trước đó. Một semaphore nhị phân bị khóa có thể được mở khóa bởi bất cứ ai. –
- 1. Chuyển chuỗi chủ đề đến cửa sổ. Các phần quan trọng rất chậm
- 2. Thực hiện một phần quan trọng trong CUDA
- 3. Chủ đề trọng lượng nhẹ và trọng lượng nhẹ
- 4. Chi phí của mutex, phần quan trọng vv trên Windows
- 5. Máy chủ SQL - Thứ tự cột có quan trọng không?
- 6. Tránh các vấn đề nhất quán về bộ nhớ cache trong Delphi với một phần quan trọng?
- 7. Các mẫu thiết kế quan trọng trong phát triển web quan trọng như thế nào?
- 8. Xem phần đính kèm trong các chủ đề
- 9. Mối quan hệ với chủ đề Java
- 10. Thứ tự của các tiêu đề trong phản hồi HTTP có quan trọng không?
- 11. Tại sao JSON quan trọng?
- 12. Phần cuối của trường bit là bit quan trọng nhất?
- 13. Điểm quan trọng trong UrbanAirship là gì?
- 14. .net Quan sát 'Quan sát' một chủ đề nền
- 15. Kết hợp các trọng số quan sát trong gói randomForest
- 16. Các lệnh Ruby quan trọng là gì?
- 17. Chủ đề trong các chủ đề trong Java?
- 18. Trả lời các sự kiện quan trọng trong scala
- 19. Các phần mở rộng tệp có quan trọng đối với trình duyệt không?
- 20. Gcc trên Linux tương đương với các phần quan trọng của microsoft là gì?
- 21. Thứ tự của các phần tử xmlns có quan trọng là
- 22. Serialize/deserialize objects - thứ tự các trường quan trọng?
- 23. Liệu nó có quan trọng không, Khoảng trắng giữa các phần tử HTML?
- 24. Lắng nghe các sự kiện quan trọng cho cấu trúc phân cấp thành phần
- 25. Delphi: Gỡ lỗi phần quan trọng treo bằng cách báo cáo ngăn xếp cuộc gọi của chủ đề đang chạy trên khóa "thất bại"
- 26. Chứng nhận quan trọng nhất trong WPF?
- 27. Điều quan trọng trong CSS là gì?
- 28. Thêm mảng quan trọng trong web.config
- 29. Giá trị t quan trọng trong R
- 30. Chủ đề C# - Đăng thông điệp giữa các chủ đề
Bạn đang nói về Windows hay nói chung? –
Đọc này - http://en.wikipedia.org/wiki/Critical_section, và sau đó trở lại với một câu hỏi cụ thể hơn nếu nó vẫn không có ý nghĩa. –
Dường như với tôi khi đọc bài viết wikipedia rằng các semaphores và các phần quan trọng đều giống nhau? – Rajeshwar