java的string.intern()线程是否安全?

时间:2015-06-10 06:08:40

标签: java multithreading

在我的java模块中,多个线程正在调用string.intern(),其中每个线程都有自己的string对象副本。在调用string.intern()之后,这些线程会尝试锁定它。但是我没有找到任何讨论此实习生()的线程安全性的文档。 我担心的是,我最终会在线程池中推送重复的字符串吗?

编辑: 让我解释一下这个场景。

我上面提到的线程是由某个作业生成的工作项线程。这些线程包含唯一的字符串标识从特定作业生成的线程将具有相同的唯一标识符。当这些线程由作业生成时,它们都指向相同的唯一标识符。我使用这个唯一标识符作为锁来同步这些线程。但是,这些工作项线程经历了序列化和反序列化的循环。我发现反序列化线程的唯一标识符(字符串)现在不再引用线程池中的副本。它有自己的唯一标识符副本。现在我尝试锁定唯一标识符是徒劳的,因为我有多个唯一标识符的字符串对象。

string.intern()尝试在线程池中推送此字符串对象,然后将其用作锁定。

0 个答案:

没有答案