none
如果确定当前执行代码的是哪个线程? RRS feed

  • 问题

  • 在win32下有GetCurrentThreadId这个函数,可以通过在不同代码的执行位置上获取当前线程ID来区分这个操作是由哪个线程执行的。
    在Windows Store环境下GetCurrentThreadId函数还是可以编译通过,但在任何地方调用返回值都是一样的。
    我是在create_task.then中调用GetCurrentThreadId的,它的返回值与在工程主类的Run中调用返回值是一样的。
    2014年11月29日 6:43

答案

  • 你好,

    在windows store环境下GetCurrentThreadId函数也是可用的。这篇blog讲的挺清楚地而且还能下载他的代码。http://www.davidbritch.com/2012/11/thread-context-in-ccx-apps.html

    通过测试这篇blog提供的sample可以简单得到GetCurrentThreadId在不同线程的值。如图:

    总之这个函数的有用的。可能是你的代码的问题,或者可能测试的线程都是同一个线程,需要你去确认调试一下。

    Shu Hu


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 lihuipeng49 2014年12月2日 13:04
    2014年12月1日 8:02
  • 在UI thread 中create_task,后续task仍然在UI thread 运行,但可以通过参数指定thread

    参考这里 Managing the thread context

    • 已标记为答案 lihuipeng49 2014年12月2日 13:04
    2014年12月2日 2:49

全部回复

  • 你好,

    在windows store环境下GetCurrentThreadId函数也是可用的。这篇blog讲的挺清楚地而且还能下载他的代码。http://www.davidbritch.com/2012/11/thread-context-in-ccx-apps.html

    通过测试这篇blog提供的sample可以简单得到GetCurrentThreadId在不同线程的值。如图:

    总之这个函数的有用的。可能是你的代码的问题,或者可能测试的线程都是同一个线程,需要你去确认调试一下。

    Shu Hu


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 lihuipeng49 2014年12月2日 13:04
    2014年12月1日 8:02
  • 在UI thread 中create_task,后续task仍然在UI thread 运行,但可以通过参数指定thread

    参考这里 Managing the thread context

    • 已标记为答案 lihuipeng49 2014年12月2日 13:04
    2014年12月2日 2:49