【问题标题】:Acquiring thread id (tid) in glib在 glib 中获取线程 id (tid)
【发布时间】:2010-09-03 10:07:49
【问题描述】:

我正在使用 glib 来创建线程:

g_thread_create()

如何获取线程 id(编号)?

【问题讨论】:

    标签: glib


    【解决方案1】:

    你不能。线程 ID 在 GLib 中被抽象出来。你需要它做什么?

    【讨论】:

    • 用于调试目的。我想在 error_log 中打印 tid 并显示错误消息。
    • 如果你想给每个线程一个唯一的符号,你可以printf("%p\n", g_thread_self());这会给你GThread结构的地址,所以你可以区分你的线程。
    【解决方案2】:

    如果你使用的是 vala,你可以使用:

       var t = Thread.self<bool> () ;
       message ("OTHER THREAD: %p", t) ;
    

    输出是:

    ** Message: vala-thread.vala:6: OTHER THREAD: 0x165e400
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多