Tôi muốn cung cấp toàn cầu io_service
được thúc đẩy bởi một chuỗi toàn cầu. Đủ đơn giản, tôi chỉ có cuộc gọi cơ thể chủ đề io_service::run()
. Tuy nhiên, điều đó không hoạt động như run
(run_one
, poll
, poll_one
) trả lại nếu không có việc phải làm. Nhưng, nếu chuỗi liên tục gọi run(), nó sẽ bận lặp khi không có gì để làm.chuỗi chuyên dụng cho io_service :: run()
Tôi đang tìm cách chặn chuỗi để không có bất kỳ công việc nào được thực hiện trong io_service. Tôi có thể thêm sự kiện toàn cầu vào danh sách kết hợp để chặn. Tuy nhiên, điều đó sẽ yêu cầu người dùng của io_service
thông báo cho sự kiện mỗi khi họ sử dụng dịch vụ. Không phải là giải pháp lý tưởng.
Lưu ý: không có hình cầu thực tế và tôi không bao giờ sử dụng sự kiện cho đồng thời tôi chỉ đơn giản hóa vấn đề theo nhu cầu chính xác của tôi. Mục tiêu thực sự là một lớp con asio::deadline_timer
không yêu cầu tham số io_service
làm thông số xây dựng.
Không biết về việc này. +1 và đã xóa đề xuất hack-ishy của tôi. –
cảm ơn, tôi đã bắt đầu làm hẹn giờ với thời gian chờ vô hạn chỉ dành cho mục đích này. Tôi vô cùng ấn tượng với asio. Họ đã bỏ lỡ rất ít trường hợp góc. –