是不是得用多线程方式来实现?能否给出关键代码?

解决方案 »

  1.   

    是的。你可以新开一个线程进行需要很长时间的运算。用CreateThread就好了,查了MSDN,不难的。
      

  2.   

    第一次写多线程,按楼上的指导,新开一个线程(由ThreadFunc函数实现)来执行主要的运算工作,但还是碰到一些问题。具体来讲,我的线程函数定义在自己的一个类中:
    class CMyDialog : public CDialog
    {
    public:
      ……
      static UINT ThreadFunc(LPVOID pParam);
      ……
    }响应Button1按钮点击:
    void CMyDialog::OnButton1() 
    {
      CWinThread *pThread = AfxBeginThread(ThreadFunc, 0, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
    }线程函数的实现:
    UINT ThreadFunc(LPVOID pParam)
    {
      ……
    }ThreadFunc()中需要用到多个CMyDialog类中的成员函数及变量,请问应当如何引用?