线程安全使用相关注意事项
线程创建遵循下面规律! 1、如果线程函数中只调用Win32 API,就放心用CreateThread; 2、如果要用到C Runtime库,那么就要使用_beginthreadex,并且需要在编译环境中选择UseMultiThread Lib/DLL; 3、MFC程序中使用AfxBeginThread。坚决不要使用_beginthread(无法创建带有安全属性的新线程,无法创建暂停的线程,也无法获得线程的ID值,… …).
线程终止遵循下面规律!
若要终止线程的运行,可以使用下面的方法:
1、线程函数返回(最好使用这种方法)。 2、通过调用ExitThread/_endthreadex /AfxEndThread函数,线程将自行撤消(最好不要使用这种方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应该避免使用这种方法)。 4、包含线程的进程终止运行(应该避免使用这种方法)。