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

手机网站设计欣赏网站完整网页开发

手机网站设计欣赏网站,完整网页开发,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.yayakq.cn/news/498805/

相关文章:

  • 杭州市建设住房保障局网站个人做的网站能备案吗
  • 基础网站建设公司网站界面设计的优点
  • 网站建设设计报告前言南宁市网站开发建设
  • 宁波市高新区建设局网站wordpress没有文章标题
  • 开锁公司做网站app编程入门教程
  • 网站建设业务培训资料硬件开发是做什么工作
  • asp网站攻击ppt代做
  • 柳州住房城乡建设厅官方网站列举网免费发布信息网
  • 如何做亚马逊备案的网站wordpress调用指定id文章
  • 丰南建设局网站跨境电商seo什么意思
  • 怎样建立自己的网站渐江建工水利水电建设有限公司网站
  • 网站开发评分标准免费做海报的网站
  • 晋城网站建设科技有限公司做网站每年都要费用的吗
  • 淘宝客推广网站建设站长之家 seo查询
  • 水果套餐网站建一个电商网站多少钱
  • 怎么做免费的网站推广网站设计摘要 优帮云
  • 网站开发模块的需求分析深圳南山做网站的公司
  • 河南建设厅八大员查询网站英特尔网站开发框架
  • 绍兴企业免费建站音视频网站建设可行性报告
  • 网站建站的方式主要有哪几种网站301多久
  • 架设网站多少钱广东建设信息网三库一
  • 襄樊网站推广网站建设经费预算策划书
  • 网站404页面做晚了PHP做克隆网站
  • 网站优化的主要任务巩义网站建设工程
  • 湖南建设人力资源湖南网站建设wordpress设为中文
  • 深圳市建设厅官方网站打造网站品牌
  • asp.net网站怎么做彭州做网站的公司
  • 郓城网站建设电话网站建设课程简介图片
  • 面试网站开发员wordpress 上传主机
  • 山东高端网站建设徐州建设集团有限公司