1

假设我有一个产生 2 个线程的服务。这 2 个线程可以访问任何服务的方法。有什么方法可以告诉(在方法中)哪个线程调用了它?

我知道 Android 中的进程存在这样的机制:例如,我可以使用 getCallingUid,但是线程也有类似的东西吗?

谢谢

4

3 回答 3

3

您可以使用currentThread方法来获取线程并使用getName来获取它的名称:

String name = Thread.currentThread().getName();
Log.d("Service", "Called from " + name + " thread");

当您创建创建线程时,您可以在构造函数中指定它的名称。见线程

于 2012-11-19T13:15:14.033 回答
1

Thread.currentThread() 将始终传递当前线程。

于 2012-11-19T13:15:44.513 回答
0

如果你传入Thread.getId怎么办?

于 2012-11-19T13:16:32.170 回答