很多时候用字符串做线程同步变量是非常具有一定优势的,可以动态利用业务数据来进行。但字符串在很多编程语言中的处理都是比较特殊的,因此需要注意,我们认为的字符串相等,可能实际上在内存中是不相等的,这对于java和c#来说尤其如此。字符串是放在堆里面还是栈里面有很大的区别。记住,在Java中用字符串做同步,一定要用如下用法:
String theSychString =("LOADVALUESXXXX"+RefCode).intern();
intern()的调用确保字符串是在栈里面,是同一个东西。