執行緒安全使用相關注意事項

2021-07-02 12:51:53 字數 504 閱讀 5462

執行緒建立遵循下面規律!

1、如果執行緒函式中只呼叫win32 api,就放心用createthread;

2、如果要用到c runtime庫,那麼就要使用_beginthreadex,並且需要在編譯環境中選擇usemultithread lib/dll;

3、mfc程式中使用afxbeginthread。

堅決不要使用_beginthread(無法建立帶有安全屬性的新執行緒,無法建立暫停的執行緒,也無法獲得執行緒的id值,… …).

執行緒終止遵循下面規律!

若要終止執行緒的執行,可以使用下面的方法:

1、執行緒函式返回(最好使用這種方法)。

2、通過呼叫exitthread/_endthreadex /afxendthread函式,執行緒將自行撤消(最好不要使用這種方法)。

3、同乙個程序或另乙個程序中的執行緒呼叫terminatethread函式(應該避免使用這種方法)。

4、包含執行緒的程序終止執行(應該避免使用這種方法)。

DllMain相關注意事項

1 在dllmain的dll process attach分支中,盡量只呼叫kernel32.dll中的函式。因為其他系統api可能依賴於其他dll,而那些dll有可能還沒有被載入到程序空間中且依賴於當前dllmain所在的dll,這樣會導致迴圈依賴 其實,在使用者程序中呼叫其他系統模組的api一般...

git相關注意事項

git的相關注意事項 git add 新增所有修改到暫存區。git reset head file add之後發現錯誤,撤銷 add的檔案到暫存區。git add file後進行 git commit m 修改某某檔案 後發現錯誤 要撤銷。解決方式 git log 檢視提交到暫存區的 commit ...

Hive相關注意事項

1.load data locall inpath into table xx 如果是本地路徑,其實就是一次put上傳操作 如果路徑是hdfs,其實是一次mv操作 2.建立分割槽表partitioned by 字段不能和表中列的字段重複 3.建立分桶表cluster by 必須是表中的某列的字段 4...