Cách in id luồng bằng cách sử dụng qDebug()
trên môi trường cửa sổ của Qt
.Id chủ đề trong Qt
Trả lời
Tôi giả sử bạn muốn thread id của thread hiện đang thực hiện (và không phải là thread id của một đối tượng QThread cụ thể):
qDebug() << QThread::currentThreadId();
Những điều cần xem xét: Phương pháp này trả về một id cụ nền tảng (kiểm tra docs). Trong các cửa sổ, bạn không thể sử dụng id này với các hàm API Win32 vì nó trả về một id giả và không phải là id luồng thực.
Nếu ứng dụng của bạn sẽ chỉ chạy trong Windows và bạn cần phải làm điều gì đó có ý nghĩa với id chuỗi có thể là tốt nhất nếu bạn sử dụng GetCurrentThreadId().
Trên các cửa sổ, các ứng dụng thường "hủy" từ dòng lệnh khi bạn thực thi chúng. Nếu bạn thêm
win32:CONFIG+=console
ứng dụng của bạn sẽ chặn lời nhắc lệnh và in câu lệnh qDebug.
Kể từ khi thực hiện cơ bản của một QThread là pthreads, bạn có thể sử dụng (I "m giả sử bạn muốn có một ID có thể sử dụng)
pthread_t = pthread_self();
từ bên trong các chủ đề được thực hiện.
Các giá trị trả về từ QThread :: currentThreadId() không phải là di động
Điều bạn có thể có nghĩa là: http://doc.qt.nokia.com/4.7/qthread.html#currentThreadId – mbx
-1 Vì câu hỏi cụ thể yêu cầu cách lấy ID luồng trong Qt. Qt hỗ trợ nhiều nền tảng. –
- 1. Vẽ từ nhiều chủ đề trong Qt
- 2. Cách lấy ID chủ đề Android?
- 3. Máy chủ HTTP Qt?
- 4. Chủ đề công nhân trong Ruby
- 5. Chủ đề trong các chủ đề trong Java?
- 6. Qt tiêu đề ứng dụng
- 7. Chủ đề trong Java
- 8. MessageLoop trong Chủ đề
- 9. Chủ đề trong Android?
- 10. TextAppearance trong chủ đề
- 11. Id dấu thời gian duy nhất hiệu suất cao cho nhiều chủ đề trong Haskell
- 12. Chủ đề trong mùa xuân
- 13. Mẫu thiết kế, Mô hình Qt/Xem và nhiều chủ đề
- 14. Qt Main-Gui và các chủ đề + sự kiện khác vòng
- 15. Chủ đề C# - Đăng thông điệp giữa các chủ đề
- 16. Chủ đề gốc trong ứng dụng .Net
- 17. java Chủ đề trong libGDX
- 18. System.exit trong Java Chủ đề
- 19. Chủ đề trong ứng dụng Rails
- 20. Phiên và chủ đề
- 21. Đề nghị mức cảnh báo QT
- 22. Android: Cách lấy ID tài nguyên của chủ đề hiện tại?
- 23. Tìm tất cả các chủ đề của một quá trình cho quá trình id
- 24. Làm thế nào để lấy id chủ đề từ một tăng :: thread?
- 25. Nhận tham chiếu đến đối tượng chủ đề từ ID của nó
- 26. Chủ đề Mô hình Truyền thông Chủ đề Haskell
- 27. Chủ đề là gì (Chủ đề là gì)?
- 28. Để tạo chủ đề hoặc không theo chủ đề
- 29. Chờ cho nhiều chủ đề (chủ đề Posix, C++)
- 30. Chủ đề ưu tiên Vs Chủ đề không ưu tiên
Điều này vẫn đúng không? Tôi thấy rằng currentThreadId() trả về một handle (http://qt-project.org/doc/qt-4.8/qthread.html#currentThread), mà có lẽ sẽ khác nhau mỗi khi nó được gọi. Bạn không muốn sử dụng QThread :: cur rentThread() thay vào đó, đó là một con trỏ đến cấu trúc dữ liệu luồng? –