【问题标题】:Using a serial queue with CMMotionManager使用带有 CMMotionManager 的串行队列
【发布时间】:2012-02-15 16:23:00
【问题描述】:

我使用 CMMotionManager 的 startAccelerometerUpdatesToQueue: withHandler: 方法来获取加速度计更新,我正在创建队列,这是我的代码行

[self.motionManager startAccelerometerUpdatesToQueue:[[[NSOperationQueue alloc] init] autorelease] withHandler:^(CMAccelerometerData *data, NSError *error)

我不确定,但从我的调试来看,NSOperationQueue 似乎创建了一个并发队列,但我需要一个串行队列,以便一次执行一个块,所以我想创建一个我尝试使用 @987654323 的串行队列@ 方法,但我不能像使用 NSOperationQueue 一样直接使用它。

有什么方法可以让我做到这一点吗?如果没有,我在哪里可以创建我的队列?

【问题讨论】:

    标签: iphone objective-c ios multithreading accelerometer


    【解决方案1】:

    经过进一步研究,我发现 NSOperationQueue 和 dispatch_queue_create 是两个完全不同的东西,你必须使用 NSOperationQueue 和 startAccelerometerUpdatesToQueue: withHandler:

    为了使这个队列序列化,我使用了[NameQueue setMaxConcurrentOperationCount:1];,这使得它一次最多运行 1 个胎面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2013-10-11
      相关资源
      最近更新 更多