本篇經驗,介紹一下Lab Windows/CVI軟件中線程的使用方法,在大規模軟件開發中,為了程序運行的流暢和實現複雜的功能,線程是不可避免需要使用的
工具/原料
Lab Windows/CVI軟件,版本8.5
方法/步驟
如圖所示是線程對應的一些常用函數,包括創建線程池、創建線程函數、釋放線程ID、退出線程等一系列函數,若想要更快的學習軟件,最好能夠都使用一下相關函數,這樣對於軟件的理解也有很大的幫助
如圖紅色框所示,首先聲明一個線程函數,此處函數取名為thread_test,這個聲明和C語言中的函數聲明一樣的,因為本軟件就是基於C語言開發的
如圖紅色框所示,此條語句為創建一個線程池,在使用線程函數之前必須創建線程池,本例中只使用一個線程函數,當實際應用中使用多個線程函數時,各個線程函數在線程池中進行協調調度
如圖紅色框中是創建線程函數,創建完線程遲後就可以創建線程函數了,線程函數thread_test,id為thread_test_id,此段代碼的意思是創建線程池,若創建失敗顯示“DATAThread started failed”
如圖紅色框所示,創建完線程池後,創建完線程函數,當軟件運行完畢時需要關閉線程池,圖示代碼就完成這樣的功能
如圖紅色框所示,為線程池函數裡面的內容,和前面同步定時器、異步定時器的內容基本一致,實現間歇性點亮指示燈的功能,但是有細微差別,請看官自己體會為什麼需要這樣
同時在運行上面的代碼時,軟件會卡死,之所以會卡死是因為線程一直在運行,我們沒有對其進行調度,軟件關閉不了,所以在線程的循環上加一個控制變量,等關閉軟件時,把控制變量變為0,退出循環,如圖所示