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が変わるものと考えているのですが
異なるのでしょうか。
それとも、変わらないこともあるのでしょうか。