如何解决Java 线程 ID 在多个线程池中是否唯一?
我有多个线程池运行,每个线程池有 4 个线程。每个线程根据它们提供的唯一 ID 锁定一些公共资源。我使用 Thread.currentThread().getId()
作为唯一 ID 来锁定和释放资源。
我在 Thread 类中读到线程 ID 只是一个递增和分配的长数字,一旦线程终止,它也可以重用。但它没有提及它在线程池中的行为。
线程 ID 是否保证在属于不同线程池的线程中是唯一的?
解决方法
线程 ID 是唯一的;但需要注意的是,一旦线程终止,JVM 可能会重用线程 ID。
https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#getId--
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。