有个变量,需要在类的函数里面用,也需要在线程函数里面用,请问如何传递这个变量到线程函数呢?或者应该在哪定义这个函数呢?

解决方案 »

  1.   

    在创建线程时,把类的this指针穿进去。然后再线程中转化为类指针。通过这个指针来调用它的变量。
      

  2.   

    这个方法最好不要用全局变量传this
      

  3.   

    DWORD ThreadId;
    m_hThread = ::CreateThread(NULL, 0, ThreadName, this, 0, &ThreadId);不过要注意线程同步时,对临界资源的使用(你的变量)。
      

  4.   

    用全局变量有什么不好吗?比如下面这个线程函数应该怎么传呢?
    UINT MyLogThreadFunction( LPVOID pParam )用
    AfxBeginThread