dispatch_async内の処理について
private var queue: dispatch_queue_t = dispatch_queue_create("test.test.testcall", DISPATCH_QUEUE_SERIAL)
func test() {
NSLog((1))
dispatch_async(queue, {
NSLog((2))
})
}
(1)、(2)のログとして以下のようなログが出力されます。
[数字1:数字2]ログ
数字2についてはスレッドIDだと思うので、上記のような処理の場合、異なる値が出力されるものと考えているのですが、認識違いがありますでしょうか。
swift内で上記のようにすると、確かにログの「数字2」の部分は異なる値が出力されるのですが、
・swift
・C++クラスを動かすためのObje-C++
・C++(拡張子はmm)
swift→Obje-C++→C++→Obje-C++→swiftの流れで処理させようとした際に、
・C++クラスを動かすためのObje-C++
ここで同じ処理を入れても、
(1)、(2)のログ「数字2」は同じものとなってしまい、よくわからなくなってしましました。。。
Obje-C++でも同じようにdispatch_async()を利用することでスレッドIDが変わるものと考えているのですが
異なるのでしょうか。
それとも、変わらないこともあるのでしょうか。