当前位置: 首页 > news >正文

网站开发 方案 报价单网站优化排名软件推广

网站开发 方案 报价单,网站优化排名软件推广,wordpress哔哩哔哩视频播放器,wordpress数据多大后慢众所周知,基础类型如 int、float 的变量被 atomic 修饰后就具有原子性,则线程安全。 然而有些情况,atomic 修饰后不一定是线程安全的。 atomic 修饰 NSString,NSArray 的时候,只是保障首地址(数组名&…

众所周知,基础类型如 int、float 的变量被 atomic 修饰后就具有原子性,则线程安全。

然而有些情况,atomic 修饰后不一定是线程安全的。

atomic 修饰 NSString,NSArray 的时候,只是保障首地址(数组名)原子性,而首地址指向的是一整片内存空间。若多线程 A 访问 length 或 count,然后线程 B 把数组的元素删去了几个,那么待会线程 A 访问就出现了数组越界

解决方法是:对数据结构的 add 和 remove 操作加锁。NSArray 不可修改的话,可以继承它,自定义带锁的 add 和 remove 方法。现有的实现。SynchronizedArray 就是这样的思路。

@property (atomic, strong) NSArray* arr;//thread A
for (int i = 0; i < 100000; i ++) {if (i % 2 == 0) {self.arr = @[@"1", @"2", @"3"];}else {self.arr = @[@"1"]; // i % 2  为奇数时,直接缩短数组长度。}NSLog(@"Thread A: %@\n", self.arr);
}//thread B
for (int i = 0; i < 100000; i ++) {
// 先访问了 count,然后被线程 A 打断,数组长度被缩减。那么待会回来重新访问的时候,就会越界 crash。if (self.arr.count >= 2) { NSString* str = [self.arr objectAtIndex:1];}NSLog(@"Thread B: %@\n", self.arr);
}
http://www.tj-hxxt.cn/news/95494.html

相关文章:

  • 做羞羞的事情网站谷歌排名网站优化
  • 1688代加工官方网站广州知名网络推广公司
  • wordpress如何放pdf浙江网站seo
  • 建站的步骤有哪些sem对seo的影响有哪些
  • 广西疫情最新消息今天电商seo名词解释
  • 婚纱摄影网站设计百度推广如何代理加盟
  • 网站建设收费标准seo挂机赚钱
  • 黄江网站设计足球最新世界排名表
  • 工商网站备案查询网络推广的概念
  • 常用来做网站首页的是免费做网站自助建站
  • 山东站群网站建设天津网络广告公司
  • 网站自然排名怎么优化互联网推广是什么意思
  • 素材视频 素材库seo优化运营专员
  • 网站制作需求seo在线工具
  • 新纪实网站建设网站优化推广招聘
  • 贵州做网站怎么推广产品推广营销
  • 网站建设有什么专业术语搜索技巧
  • 南浔哪有做网站的网上做广告推广
  • r2网站做生存分析网络服务有限公司
  • 永嘉网站制作国家认可的教育培训机构
  • 帝国生成网站地图大型门户网站建设
  • 杭州大的做网站的公司苏州网站建设优化
  • 做社区网站磁力库
  • asp.net 网站管理工具今日国内新闻头条大事
  • 网站支付怎么做安全吗哪家网络公司比较好
  • 灵犀科技-网站开发自动点击器下载
  • 如何将自己做的网站变成中文网站检测工具
  • 镇江微网站建设谷歌google搜索引擎入口
  • 全面的锦州网站建设网络媒体广告代理
  • 客户网站 备案网站分享