grand-central-dispatch

    1热度

    2回答

    当我运行下面的操场我注意到默认调度队列似乎是叫OS_dispatch_queue_serial一个串行队列。 这是为什么? 在这种情况下,我对异步和同步语义使用混乱,在这种情况下,他们似乎是同步和连续行为。 我错了吗? 我在混淆与同步的连续? 运行代码之前我期待实现如下: Hello World Hello Moon world * (or Moon) Moon * (or world)

    1热度

    2回答

    我目前正在与CBPeripheralDelegate在iOS设备和Bluetooth Low Energy USB加密狗之间交换消息。我必须实现使用串行仿真服务写入数据字节的方法sendMessage:。此方法必须发送一个15字节(或更少)的帧,在发送下一个消息之前等待加密狗的确认。 下面是我的代码: - (void)sendMessage:(NSData *)message { NSA

    4热度

    3回答

    (由How does a serial dispatch queue guarantee resource protection?也许回答,但我不明白怎么做) 问题 当异步任务(如网络任务)完成后如何GCD知道吗?我是否应该为此使用dispatch_retain和dispatch_release? 更新:我不能用ARC调用这两种方法...什么? 详细 我有一个第三方库,做了很多的网络访问进行交互。

    1热度

    1回答

    我尝试用swift 3创建我的第一个项目。 我尝试从我的API获取数据。如果我手动启动该功能,这很好。我需要同步异步请求。 我需要触发我的功能3次,并等待其他人完成。 makeGetCall(URLstring: "api1") 等待完成 makeGetCall(URLstring: "api2") 等待完成 makeGetCall(URLstring: "api3") 设置此背景并触

    0热度

    2回答

    我需要用我的应用程序登录Facebook,获取一些数据,并在完成后登录到Firebase。我正在使用派遣队列,但它不起作用。我的街区并不等待对方完成。 这里是我的代码: dispatch_queue_t loginQueue = dispatch_queue_create("com.balazsvincze.loginQueue", DISPATCH_QUEUE_SERIAL); //Log

    0热度

    4回答

    我试图让延迟时间少于一秒。我从网上找到了这段代码。但它不会接受不到一秒钟的延迟。 Swift中的Grand Dispatch概念对我来说有点神秘。我应该如何修改此代码以创建0.3秒的延迟? let deadlineTime = DispatchTime.now() + .seconds(1) //how to get 0.3 seconds here DispatchQueue.main

    0热度

    1回答

    我有我创建并发队列中迅速3 与GCD的问题,我通过函数在此队列中这个功能调用另一个功能 我需要打印所经过的时间为每个调用 但我认为实现并发队列内切下面我的代码: // peform task with the concurrent queue class DoCalculations{ func doCalc() { let x = 100 let y = x

    1热度

    1回答

    我有一个异步NSOperation下载多个ImageFile对象的数据。由于这一切都是异步发生的,我使用一个调度组跟踪请求,然后在完成操作后完成操作。 我的问题是当操作过早结束时发生的情况,无论是通过取消还是通过其他错误。调度组将保留无与伦比的dispatch_group_enter和dispatch_group_leave,因此不会调用dispatch_group_notify。系统永远在等待系

    1热度

    1回答

    我是新来的Objective-C并发处理人员。我已经看过一些并发编程的演示代码。 我想按顺序打印自然数,但在2个不同的线程。像: 1:螺纹XX 2:螺纹YY 3:螺纹XX 4:螺纹YY 5:螺纹XX 6:螺纹YY ..................... ................ ..... 等等。但我无法弄清楚如何做到这一点。任何帮助?

    1热度

    2回答

    问题:在跟随此tutorial时,我为这两个队列分配了不同的QoS。但是,当我运行代码时,队列的行为就好像它们具有相同的优先级。此外,即使首先调用红色点,蓝色点也在红色点之前打印。我运行了本教程提供的completed project上的代码。 注意:有一次,当我在模拟器上删除应用程序并重新运行应用程序时,我得到一个非常接近教程的output。但是在再次运行代码之后,我得到了下面的输出。即使删除并