Tôi có một ứng dụng đa luồng và tôi gán một tên duy nhất cho mỗi luồng qua thuộc tính setName()
. Bây giờ, tôi muốn chức năng truy cập trực tiếp vào các chủ đề với tên tương ứng của họ.Nhận chủ đề theo tên
Somethings như các chức năng sau:
public Thread getThreadByName(String threadName) {
Thread __tmp = null;
Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
Thread[] threadArray = threadSet.toArray(new Thread[threadSet.size()]);
for (int i = 0; i < threadArray.length; i++) {
if (threadArray[i].getName().equals(threadName))
__tmp = threadArray[i];
}
return __tmp;
}
Các kiểm tra chức năng trên tất cả các chủ đề chạy và sau đó trả về chủ đề mong muốn từ tập hợp các đề chạy. Có lẽ chuỗi mong muốn của tôi bị gián đoạn, khi đó hàm trên sẽ không hoạt động. Bất kỳ ý tưởng về cách kết hợp chức năng đó?
như thế nào các chủ đề được tạo ra? –
Chỉ cần lưu trữ các chủ đề bạn cần trong một 'HashMap' bằng tên của chúng. –
millimoose
@JohnVint Chủ đề được tạo trong một lớp khác, vì vậy đó là lý do tại sao tôi không thể truy cập trực tiếp vào chúng. – NullPointer