2010-11-03 17 views
16

Takviyeli iş parçacığı kullanarak bir iş parçacığı havuzu oluşturmak mümkün mü? Ben tüm boost libs bakıyordu ve ben bir iş parçacığı havuzu yöneticisi (ya da benzeri bir şey) bulamadım ... Bunu yapmak için bir yolu var mı?Takviye kullanarak bir iş parçacığı havuzu oluşturma

tnx!

+0

Ayrıca bakınız: http://stackoverflow.com/questions/19500404/how-to-create-a-thread-pool- -boost-in-c kullanma –

+0

Burada boost :: asio kullanarak bir threadpool örneği yayınladım. [boost Havuz Örnek Konu :: asio] [1] [1]: http://stackoverflow.com/questions/31835009/c-threadpool-is-not-running-parallel/31835802 # 31835802 – DannyK

+0

Olası çoğaltılabilir [C++ ile nasıl bir iş parçacığı havuzu oluşturabilirim?] (Https://stackoverflow.com/questions/19500404/how-to-create-a-thread-pool-using-boost- in-c) –

cevap

8

Arttırıcı (henüz) threadpool desteklenmektedir. Ancak, büyük bir jenerikliğin öncelikli bir amaç değilse, özellikle birini uygulamak sorun değildir. Fikir: iş parçacığınız TaskType türü ve çalışan sayısı ile parametrelendirilebilir. TP, TaskType alan işleyici işlevine sahip olmalıdır. TP, eklenen görevlerin kuyruğunu içerir. Gerçek iş parçacığı işlevi, sıradan bir görev alır ve işlenen işleyiciyi çağırır. Bunun gibi bir şey.

+0

Daha önce threadpool kütüphanesini eklediklerini umuyordum. Yakında eklenecek bir fikir var mı? hızlı cevabınız için çok teşekkürler! – grich

+0

Kesinlikle bilmiyorum ama hem ThreadPool hem de Proses'in 1.45 –

+0

içinde olacağını umuyorum ve threadpool kütüphanesi güzel görünüyordu; Çok kötü belgeler eksiktir (birçok sayfa TODO'yu belirtir ve açıklamanın güncel olmadığını bildirir). 2008'den beri fazla ilgi görmemiş gibi görünüyor. –

34

Şu an buna gereksiniminiz varsa, bir yanıtın kabul edildiğini biliyorum ve kendi iş parçacığı havuzunuzu yazmaktan rahatsızlık duyamazsınız, asio io_service'yi eşzamanlılık ipucu ile kullanmayı deneyebilirsiniz (örn. koşmalı) ve sonra bu io_service için şeyler gönderin ... sadece bir fikir ..

+4

Boost asio kullanmak gitmek için doğru yol. İplik havuzunu doğrudan yönetmemek daha iyi. Intel Threading Building Blocks (TBB) ile aynı şekilde. – hackworks

+0

Bu konuda daha fazla bilgi ekleyebilir misiniz? çok ilginç geliyor! – grich

+13

Daha fazla bilgi için bu bağlantıyı kontrol edin: http://think-async.com/Asio/Recipes – Ralf

İlgili konular