Bir küresel iş parçacığı tarafından tahrik edilen bir küresel io_service
sağlamak istiyoruz. Yeterince basit, sadece io_service::run()
numaralı iplik gövdesini aradım. yapmak için hiçbir çalışma varsa Ancak, bu run
(run_one
, poll
, poll_one
) dönüş olarak çalışmaz. Ancak, eğer iş parçacığı tekrar tekrar çalıştırırsa(), yapacak bir şey olmadığında döngü meşgul olur.adanmış iplik :: çalıştırın()
ben io_service yapılması gereken herhangi bir iş yoktur iken engellemek için iplik almak için bir yol arıyorum. İş parçacığı üzerinde durması için karışıma genel bir olay ekleyebilirim. Ancak, bu, io_service
kullanıcılarının, hizmeti her kullandıklarında bildirimde bulunmasını gerektirir. İdeal çözüm değil.
Not: hiçbir gerçek globaller vardır ve ben sadece benim tam ihtiyaca aşağı sorunu basitleştirilmiş eşzamanlılık olayları hiç kullanmıyorum. Gerçek amaç, bir io_service
yapım parametresi gerektirmeyen bir asio::deadline_timer
alt sınıftır.
hakkında bu bir bilmiyordum:
belgelerin bu bölümüne bakın. +1 ve hack-ishy öneri silindi. –teşekkürler, sadece bu amaç için zamanlayıcı ve sonsuz zaman aşımı yapmaya başlamıştım. Asio ile sürekli etkilendim. Çok az köşe vakasını kaçırdılar. –