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

WordPress网站子目录访问百度推广哪种效果好

WordPress网站子目录访问,百度推广哪种效果好,2020网页游戏,环保设备网站怎么做synchronized 介绍 synchronized 是 Objective-C 提供的一种 互斥锁(Mutex),它用于确保一段代码在同一时间只有一个线程能执行,避免多线程访问共享资源时出现数据竞争。 基本语法 synchronized (lockObject) {// 需要加锁的代码…

@synchronized 介绍

@synchronized 是 Objective-C 提供的一种 互斥锁(Mutex),它用于确保一段代码在同一时间只有一个线程能执行,避免多线程访问共享资源时出现数据竞争

基本语法

@synchronized (lockObject) {// 需要加锁的代码
}
  • lockObject 是锁的标识,不同的对象代表不同的锁。
  • 如果多个线程使用相同的 lockObject,则 @synchronized 会保证同一时间只有一个线程能执行代码块。
  • 如果 lockObject 为空 (nil),不会起到任何加锁效果,代码块仍然会并发执行。

@synchronized 使用场景

1. 保护共享资源

如果多个线程同时修改同一个对象,可能会出现数据竞争问题。例如:

#import <Foundation/Foundation.h>@interface MyClass : NSObject
@property (nonatomic, assign) NSInteger count;
@end@implementation 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;
@end@implementation 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.hkea.cn/news/982541/

相关文章:

  • 建设外贸网站案例统计站老站长推荐草莓
  • 1688网站的特点全网营销系统
  • 西安做网站企业网址怎么申请
  • 专业网站建设品牌百度指数里的资讯指数是什么
  • 做网站规避什么网站制作
  • 网站开发工作方案2022拉人头最暴利的app
  • 网站建设好还是阿里巴巴好磁力猫torrent kitty
  • wordpress跨域访问前端优化网站
  • 住房和城乡建设部网站买卖合同北京中文seo
  • WordPress自己安装了插件深圳seo推广外包
  • 建立网站舆情分析报告范文
  • wordpress 空格 插件班级优化大师app
  • 成都有实力的网站建设网络培训心得
  • 中企高呈建设网站在百度怎么创建自己的网站
  • 女的和女的做那个视频网站怎么在网上做网络营销
  • 网站开发需要什么软件百度怎样发布作品
  • 专门做宠物食品的网站市场调研怎么做
  • 兰州网站建设q.479185700棒成年s8视频加密线路
  • 付费网站推广seo关键词排名优化怎么收费
  • 网站由那些组成google网页搜索
  • 对一个网站做性能测试谷歌paypal官网入口
  • 北京住房投资建设中心网站首页快速排名怎么做
  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广
  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目
  • 网页设计最牛的网站建设宁波网站优化公司哪家好
  • 建设通查询如何做网站推广及优化
  • 城乡建设网站首页百度seo收录软件