多线程是Java线程id在多个线程池中唯一的吗?
我有多个线程池,每个线程池运行4个线程。每个线程根据它们提供的唯一ID锁定一些公共资源。我使用Thread.currentThread().getId()
作为唯一ID来锁定和释放资源
我在Thread类中读到,Thread ID只是一个长数字,它被递增并分配,而且一旦线程终止,它也可以被重用。但它没有提到任何关于其在线程池中行为的内容
在属于不同线程池的线程中,线程ID是否保证是唯一的
你可以在下面搜索框中键入要查询的问题!
我有多个线程池,每个线程池运行4个线程。每个线程根据它们提供的唯一ID锁定一些公共资源。我使用Thread.currentThread().getId()
作为唯一ID来锁定和释放资源
我在Thread类中读到,Thread ID只是一个长数字,它被递增并分配,而且一旦线程终止,它也可以被重用。但它没有提到任何关于其在线程池中行为的内容
在属于不同线程池的线程中,线程ID是否保证是唯一的
# 1 楼答案
线程ID是唯一的;但您需要注意,一旦线程终止,JVM可能会重用线程ID
https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#getId