Java 手柄螺纹';s线程ID-android

Java 手柄螺纹';s线程ID-android,java,android,linux,multithreading,Java,Android,Linux,Multithreading,当我浏览和ID.os.HandlerThread类的源代码时,我发现Process.myTid()被用作线程ID 我搜索了一下,找到了有用的答案,现在我明白了什么是myTid,什么是myTid&Thread.getId() 这是我的问题 为什么我们需要从Process.myTid()获取ID?为什么不使用Thread.getId() 所有线程在单个进程中运行(您的应用程序可能有多个进程)。每个线程都在默认池中运行。这意味着如果您创建一个自定义线程池s,您的线程id可能相同,但它们属于不同的池,但

当我浏览
和ID.os.HandlerThread
类的源代码时,我发现
Process.myTid()
被用作线程ID

我搜索了一下,找到了有用的答案,现在我明白了什么是
myTid
,什么是
myTid
&
Thread.getId()

这是我的问题

为什么我们需要从
Process.myTid()获取ID
?为什么不使用
Thread.getId()


所有
线程
在单个
进程
中运行(您的应用程序可能有多个进程)。每个线程都在默认池中运行。这意味着如果您创建一个自定义
线程池
s,您的线程id可能相同,但它们属于不同的池,但由于每个线程都在
进程内运行
,因此每个线程都有自己的唯一id

每个线程的java静态自动增量长度(这个线程ID可以重用)


retunrs
Os.gettid()

你想用这个ID做什么?什么都没有。我只是想知道。你想知道它们的一些用途吗?我已经读过这个问题了。我不认为你想从这个问题中知道什么。您询问了为什么使用
Process.myTid()
而不是
Thread.getId()
。但是,如果没有用例,您无法回答与使用相关的问题。是。他们在
HandlerThread
类中使用了它,我想知道为什么他们需要
myTid
。这背后的原因是什么?这还不够吗?如果有两个进程,并且
Process.getId()
在一个进程中返回唯一的ID。是否有任何匹配ID的可能性?为什么我需要关心在两个不同进程中匹配线程ID?我认为,每个进程中的线程都与其他进程隔离运行。如果我们需要在进程之间共享数据,我们使用一些协议,但是关心另一个进程中的线程根本没有意义。如果我错了,请纠正我。您不需要关心其他进程中的线程,正如您所说,每个进程都是独立运行的,因此您不应该担心关心其他进程中的线程\第一部分呢?请看一下或进程。getId()我已经看到了。它只保证流程中的唯一性。
@Override
public void run() {
    mTid = Process.myTid();
    Looper.prepare();
    synchronized (this) {
        mLooper = Looper.myLooper();
        notifyAll();
    }
    Process.setThreadPriority(mPriority);
    onLooperPrepared();
    Looper.loop();
    mTid = -1;
}