多线程的总结

1、进程是一个正在运行的应用程序的实例,他属于系统内核对象;

 

2、当创建一个进程的时候,同时系统会自动为其创建一个线程,该线程称之为主线程;

 

3、创建线程的方法:

   1、  CreatThread();

   2、  _beginthreadex();

   3、  AfxBeginThtread();

 

注: MFC提供了CWinThread 类封装了对线程的支持。

 

4、应用MFC 类库创建线程

 

   1、m_bAutoDelete   线程终止时,线程对象是否自动被释放。

   2、m_hTread   表示线程对象关联的线程句柄。

   3、m_nTreadID  表示线程的ID。

   4、m_pMainWnd   表示应用程序的主窗口。

   5、m_pActiveWnd  如果线程为OLE服务器的一部分,该成员表示容器应用程序主窗口。

   6、CreatTread  创建一个线程。

   7、GetMainWnd   该函数用于获取应用程序的主窗口指针。

   8、ResumeThread  该方法用于重新唤醒线程。

   9、SuspendThread   挂起线程。

 

5、线程的挂起、唤醒与终止

 

   1、SuspendThread 挂起线程

   2、ResumeThread 唤醒线程

   3、ExitThread 结束当前线程

   4、TerminateThread 强制终止线程的执行

 

6、线程的同步

 

  1、使用事件对象实现线程同步

 

                   CreateEvent

                   SetEvent

                   ResetEvent

 

  2、使用信号量对象实现线程同步

 

                  CreateSemaphore         创建信号量对象

                  ReleaseSemaphore       用于递增信号量的使用计数

 

  3、使用临界区对象实现线程同步

 

                   InitializeCriticalSection   初始化临界区

                   EnterCriticalSection     进入临界区

                   LeaveCriticalSection    离开临界区

                   DeleteCriticalSection   释放临界区

 

   4、使用互斥对象实现线程同步

 

                   CreatMutex   创建一个互斥对象

                   ReleaseMutex   释放互斥对象的所有权

 

              

以上为 初学多线程  需要了解的基础,   不足的地方大家留言补充

你可能感兴趣的:(多线程的总结)