iOS讲解迷惑深入浅出之GCD利用屏障模拟玩家进入游戏读取数据
来源:互联网 发布:linux rpm yum 编辑:程序博客网 时间:2024/06/08 12:33
利用队列进行游戏模拟
需求:一共四个玩家一起进入游戏, 当所有人都进入游戏的时候开始读取数据
思路:
1. 选取并行队列
2. 如何实现特殊要求,把并行队列用屏障隔开
屏障的作用:把队列分成上下部分开执行
<span style="font-size:14px;">#pragma mark - 模拟游戏开始的线程操作(利用屏障 dispatch_barrier_async() )- (void)gameStart{ // 需求: 一共四个玩家一起进入游戏, 当所有人都进入游戏的时候开始读取数据 /* 思路: 1. 选取并行队列 2. 如何实现特殊要求, 把并行队列用屏障隔开 屏障的作用: 把队列分成上下部分开执行 */ // 创建自定义并行队列 // 参数1标识符随意起 dispatch_queue_t myQueue = dispatch_queue_create("com.nyl.ganmeQueue", DISPATCH_QUEUE_CONCURRENT); // 添加任务1 dispatch_async(myQueue, ^{ NSLog(@"玩家1 进入游戏"); }); // 添加任务2 dispatch_async(myQueue, ^{ NSLog(@"玩家2 进入游戏"); }); // 添加任务3 dispatch_async(myQueue, ^{ NSLog(@"玩家3 进入游戏"); }); // 添加屏障⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️ dispatch_barrier_async(myQueue, ^{ NSLog(@"都进入了, 可以开始, 读取玩家信息了"); }); // 添加读取信息的任务1 dispatch_async(myQueue, ^{ NSLog(@"玩家1 读取游戏!!"); }); // 添加读取信息的任务2 dispatch_async(myQueue, ^{ NSLog(@"玩家2 读取游戏!!"); }); // 添加读取信息的任务3 dispatch_async(myQueue, ^{ NSLog(@"玩家3 读取游戏!!"); }); //0 0
- iOS讲解迷惑深入浅出之GCD利用屏障模拟玩家进入游戏读取数据
- ios讲解迷惑深入浅出之GCD
- iOS讲解迷惑深入浅出之通知
- iOS讲解迷惑深入浅出之懒加载
- iOS讲解迷惑深入浅出之SAX解析和JSON 解析
- iOS讲解迷惑深入浅出之基础动画-关键帧动画
- iOS讲解迷惑深入浅出之单例类的两种写法
- iOS讲解迷惑深入浅出之复杂对象的归档
- iOS讲解迷惑深入浅出之block那点事
- iOS讲解迷惑深入浅出之开启子线程请求网络
- iOS讲解迷惑深入浅出值UICollectionView(集合视图)
- iOS讲解迷惑之typedef枚举
- iOS讲解迷惑之集成百度地图
- iOS讲解迷惑之Core Data
- iOS讲解迷惑--LeanCloud
- iOS讲解迷惑--生成uuid
- iOS讲解迷惑--MD5加密
- 运用java中的wait和notifyAll方法模拟玩家等待游戏进入场景
- Java中Socket阻塞的原因
- 代理类实现方法
- 汉诺塔
- 常用正则表达式
- mysql--预排序遍历树(数据库级层存储的思考)
- iOS讲解迷惑深入浅出之GCD利用屏障模拟玩家进入游戏读取数据
- JDBC链接SQLServer详解
- 分布式双活数据中心部署模式
- LRU缓存算法设计
- 安卓相关知识
- 事件监听机制
- colour name
- 并查集(种类并查集)POJ1703Find them, Catch them解题报告
- poj 2826 一道神奇的水题,死活都过不了,等以后再看吧