Tôi tạo khoảng 300 chuỗi tăng trong một quy trình. Có cách nào để tham gia một chuỗi cụ thể dựa trên id luồng không?Tham gia một chủ đề tăng cụ thể
Trả lời
Thiên đường phụ thuộc vào cách bạn lưu boost::thread
s. Nếu bạn lưu chúng trong một container (với T = boost::thread*
), bạn chỉ có thể sử dụng giống như
for(iterator it = ctn.begin(); it != ctn.end(); ++it){
if(it->get_id() == join_thread_id){
it->join();
break;
}
}
Tuy nhiên, nếu bạn không lưu chủ đề của bạn ở đâu đó và chỉ sử dụng new boost::thread
mà không lưu con trỏ đó là không thể vì tăng doesn không cung cấp bất kỳ chức năng kế toán tự động nào.
1. Lưu ý: Hãy nhớ rằng bạn cần phải sử dụng boost::thread::id
để lưu id.
2. Ghi chú: std::map<boost::thread::id,boost::thread*>
có thể hữu ích cho các tác vụ như vậy.
hoặc 'find_if (bắt đầu (ctn), kết thúc (ctn), [join_thread_id] (iterator nó) {return it-> get_id() == join_thread_id;}); ' –
Nếu có nhiều chủ đề, không tốt hơn bản đồ ?. Tôi hỏi điều này với hiệu suất trong tâm trí. –
@ AdriC.S .: Nó phụ thuộc vào ý nghĩa của 'rất nhiều'. Một bản đồ có quy mô đẹp với số lượng đối số (độ phức tạp tra cứu tuyến tính phụ), nhưng tùy thuộc vào số lượng mặt hàng thực tế, một vectơ nhỏ có thể hoạt động tốt hơn một bản đồ nhỏ. –
- 1. khi tháo rời hoặc tham gia chủ đề tăng tốc?
- 2. Tham gia 2 'chủ đề' trong javascript
- 3. Chủ đề ngủ và thread tham gia
- 4. Tham gia Chủ đề trong Groovy
- 5. Chủ đề an toàn Gia tăng trong C#
- 6. Tham gia một tăng :: thread dụ trong destructor
- 7. Gửi dữ liệu đến một chủ đề cụ thể
- 8. Gọi đại biểu về một chủ đề cụ thể C#
- 9. Tham gia hai bảng với các cột cụ thể
- 10. Tăng Boost của Chủ đề :: unique_lock một khóa scoped?
- 11. MySQL tham gia với mệnh đề where
- 12. chuyển tham số cho một chủ đề
- 13. Công cụ để phân tích tĩnh gia tăng của mã?
- 14. Phân bổ heap theo chủ đề cụ thể
- 15. MySQL THAM GIA Nhiều Tham gia trên cùng một bảng?
- 16. Android: tăng AlertDialog từ chủ đề nền
- 17. Đọc một tệp có nhiều Chủ đề: nên tăng tốc?
- 18. Chỉ có thể "tự động" tham gia một bảng nếu bảng đó chưa được tham gia?
- 19. Cách tham gia danh sách chung các đối tượng trên một thuộc tính cụ thể
- 20. Tăng tốc độ tham gia bên trong giữa một bảng lớn và một bảng nhỏ
- 21. Spring Aspect thất bại khi tham gia điểm được gọi trong chủ đề mới
- 22. ngày gia tăng trước một tháng
- 23. Lucene: cách tăng cường một số trường cụ thể
- 24. Powershell tham gia
- 25. Pydev PyUnit vấn đề khi sử dụng thread.join để đảm bảo tất cả các chủ đề được tham gia
- 26. Thuật toán đồ thị gia tăng
- 27. Scala: tham gia một chuỗi có thể lặp lại
- 28. Sự gia tăng trong Lua
- 29. chủ đề decaf vs chủ đề tăng so với số omnithreads
- 30. Cách tham chiếu một kiểu trong chủ đề tùy chỉnh
Bạn quản lý các chủ đề đó bằng cách nào? (Bạn bằng cách nào đó nhớ các chủ đề bắn ra, làm bạn?) –