Tôi đang phát triển một ứng dụng mà tôi thực hiện đa luồng. Một trong các chuỗi công việc của tôi hiển thị hình ảnh trên tiện ích. Một luồng khác phát âm thanh. Tôi muốn dừng/tạm dừng/tạm dừng/ngủ các chủ đề trên một sự kiện bấm nút. Nó giống như khi chúng ta nhấp vào nút phát/tạm dừng trình phát video. Tôi đang phát triển ứng dụng của mình trong c + + trên nền tảng Linux bằng cách sử dụng thư viện pthread cho luồng.Cách ngủ hoặc tạm dừng PThread trong c trên Linux
Ai đó có thể cho tôi biết cách tôi đạt được chủ đề tạm dừng/tạm ngừng không?
Không thực sự an toàn khi truy cập vào biến được chia sẻ trên toàn cầu trong môi trường đa luồng. Khóa mutex trước khi kiểm tra '! Play' và cũng sử dụng mutex khi đặt' play = 0; '. Trong thực tế, điều này sẽ không phải là một vấn đề trên một hệ thống lõi đơn lẻ nhưng tốt hơn là viết mã đúng/tương lai. –
Trong thực tế, nó sẽ không phải là một vấn đề đối với hầu hết các hệ thống đa lõi, mặc dù bạn đã đúng — điều này cần ít nhất một vài rào cản bộ nhớ. Không có chúng, việc tạm dừng có thể mất một thời gian dài tùy ý để có hiệu lực. Tất nhiên, chỉ cần khóa các mutex là tốt quá, và tôi sẽ chỉnh sửa câu trả lời này để làm điều đó. :) – LnxPrgr3
@deft_code Đã cập nhật câu trả lời! Xin vui lòng xem bình luận trước đó của tôi mặc dù. – LnxPrgr3