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

泰安公司网站建设自助建站程序

泰安公司网站建设,自助建站程序,河南建达工程建设监理公司网站,wordpress网站用户注册synchronized 介绍 synchronized 是 Objective-C 提供的一种 互斥锁#xff08;Mutex#xff09;#xff0c;它用于确保一段代码在同一时间只有一个线程能执行#xff0c;避免多线程访问共享资源时出现数据竞争。 基本语法 synchronized (lockObject) {// 需要加锁的代码…synchronized 介绍 synchronized 是 Objective-C 提供的一种 互斥锁Mutex它用于确保一段代码在同一时间只有一个线程能执行避免多线程访问共享资源时出现数据竞争。 基本语法 synchronized (lockObject) {// 需要加锁的代码 }lockObject 是锁的标识不同的对象代表不同的锁。如果多个线程使用相同的 lockObject则 synchronized 会保证同一时间只有一个线程能执行代码块。如果 lockObject 为空 (nil)不会起到任何加锁效果代码块仍然会并发执行。 synchronized 使用场景 1. 保护共享资源 如果多个线程同时修改同一个对象可能会出现数据竞争问题。例如 #import Foundation/Foundation.hinterface MyClass : NSObject property (nonatomic, assign) NSInteger count; endimplementation MyClass- (void)incrementCount {synchronized(self) {self.count self.count 1;} }endint main(int argc, const char * argv[]) {autoreleasepool {MyClass *myObject [[MyClass alloc] init];dispatch_queue_t concurrentQueue dispatch_queue_create(com.example.concurrentQueue, DISPATCH_QUEUE_CONCURRENT);// 创建多个线程同时调用 incrementCount 方法for (int i 0; i 1000; i) {dispatch_async(concurrentQueue, ^{[myObject incrementCount];});}// 等待所有任务完成dispatch_barrier_sync(concurrentQueue, ^{NSLog(Final count: %ld, (long)myObject.count);});}return 0; } 多次执行结果 Final count: 1000 Final count: 1000 Final count: 1000 如果去掉synchronized你会发现结果大多都不是1000 2. 多线程安全地添加元素到数组 多个线程可能同时访问 NSMutableArray如果没有同步措施可能会崩溃 interface SafeArray : NSObject property (nonatomic, strong) NSMutableArray *array; endimplementation SafeArray- (instancetype)init {if (self [super init]) {_array [NSMutableArray array];}return self; }- (void)addItem:(id)item {synchronized (self) {[self.array addObject:item];} }end注意事项 性能开销synchronized 会带来一定的性能开销因为每次进入和退出 synchronized 块都需要进行锁的获取和释放操作。因此在性能敏感的场景下应谨慎使用。死锁风险如果在 synchronized 块中嵌套使用 synchronized 块并且使用相同的锁对象可能会导致死锁。因此在使用 synchronized 时要避免出现死锁的情况。
http://www.w-s-a.com/news/885195/

相关文章:

  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗
  • 一个完整的网站 技术网站建设中 敬请期待.
  • 如何建一个公司的网站网上怎么推广公司产品
  • 十大旅游电子商务网站影楼网站制作
  • 深圳网站建设代理商网业打开慢的原因
  • 旅游网站经营模式在屈臣氏做网站运营
  • 做管理信息的网站com域名查询
  • 免费推广网站推荐外贸推广平台哪个好
  • 腾宁科技做网站399元全包企业校园网站建设