博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSString 意外小发现
阅读量:4878 次
发布时间:2019-06-11

本文共 321 字,大约阅读时间需要 1 分钟。

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

 

代码1:

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

 

代码2:

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

 

代码3:

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

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

 

转载于:https://www.cnblogs.com/lYcHeeM/p/4051229.html

你可能感兴趣的文章
c# 导出Excel
查看>>
Status: Checked in and viewable by authorized users 出现在sharepoint 2013 home 页面
查看>>
python数据预处理
查看>>
Python之路,Day21 - 常用算法学习
查看>>
Android安全-代码安全1-ProGuard混淆处理
查看>>
部署core
查看>>
mysql 时间设置
查看>>
如何在 Xcode 中修改应用的名字
查看>>
[BZOJ5334][TJOI2018]数学计算(exgcd/线段树)
查看>>
[BZOJ4340][BJOI2015]隐身术(后缀数组)
查看>>
有关交换机——熟悉原理是必须的【转载】
查看>>
ACM(数学问题)——UVa202:输入整数a和b(0≤a≤3000,1≤b≤3000),输出a/b的循环小数表示以及循环节长度。...
查看>>
【转】Android 读取doc文件
查看>>
js 数据绑定
查看>>
jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字
查看>>
H5 简介
查看>>
window.frameElement的使用
查看>>
nl命令
查看>>
如何使用jQuery $.post() 方法实现前后台数据传递
查看>>
Using Flash Builder with Flash Professional
查看>>