我的程序中有以下代码:
Thread getUsersist, getChatUsers;
getUsersList = new Thread(this, "getOnlineUsers");
getUsersList.start();
getChatUsers = new Thread(this, "getChatUsers");
getChatUsers.start();
在run()中,我想知道哪个线程正在使用run()。如果它是“ getOnlineUsers”,我将做一些事情;如果它是“ getChatUsers”,我将做其他事情。那么我怎么知道哪个线程正在使用run()呢?
最佳答案
在run()
中,您可以执行以下操作:
Thread.currentThread().getName()
获取“ getOnlineUsers”或“ getChatUsers”并相应地采用其他代码路径。也就是说,对我来说,这似乎是一个相当脆弱的设计,我想您会为每个线程使用单独的类而变得更好。
关于java - 如何区分两个线程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2577796/