NSString 意外小发现

1. 今天在测试多线程死锁的时候, 用了两个NSString类型的对象作为@synchronized(obj)括号中的参数, 但是却出现了奇怪的结果, 不论如何都不会发生死锁, 后来经过测试, 发现NSString的一个意外的现象。

代码1:

多次测试,代码1的执行结果都为: 出人意料,为什么不发生死锁?看了代码2就明白了。

代码2:

多次测试,  代码2的打印结果为: ,  也就是说,  上面创建的4个对象都是同一个对象。

代码3:

代码3的打印结果为: ,  意料之中。

不知其他对象会不会有这种现象,  希望大神能解释一下这种现象....

原文地址:https://www.cnblogs.com/lYcHeeM/p/4051229.html