當前位置:成語大全網 - 書法字典 - C++多線程程序設計教學初探

C++多線程程序設計教學初探

在Windows NT和Windows 9x中,多線程編程需要調用壹系列API函數,例如CreateThread和ResumeThread,這既麻煩又容易出錯。我們可以使用InEnterprise的新壹代RAD開發工具C++Builder輕松實現多線程編程。與舊的RAD工具Visual Basic和Delphi相比,C++Builder不僅功能非常強大,而且其編程語言是C++,這對於系統開發語言為C的Windows系列操作系統來說具有其他編程語言無法比擬的優勢。使用C++Builder提供的TThread對象,多線程編程變得非常簡單易用。那麽,如何實現呢?讓我向您展示多線程的強大功能。

1.創建多線程程序:

首先介紹壹下實現多線程的具體步驟。雖然在C++Builder中通過Tthread對象解釋了線程的概念,但Tthread對象本身是不完整的,因此需要在TThread下創建壹個新的子類,並重載Execute方法以使用線程對象。這可以在C++Builder下輕松實現。

在c++builder ide環境中,選擇菜單“文件”|“新建”,在“新建”列中選擇“線程對象”,按“確定”,然後彈出輸入框,輸入t Thread對象的子類名稱,這樣c++builder就會自動為您創建壹個名為MyThread的TThread子類。同時,編輯器中還有另壹個名為Unit2.cpp的單元,它是我們創建的TMyThread子類的原始代碼,如下所示:

#包括

#雜註hdrstop

#包含“Unit2.h”

#雜註包(smart_init)

// -

//重要:VCL中對象的方法和屬性只能是

//用在名為using Synchronize的方法中,例如:

//

//Synchronize(update caption);

//

//其中UpdateCaption可能看起來像:

//

//void _ _ fastcall MyThread::update caption()

// {

//form 1-& gt;Caption =“在線程中更新“;

// }

// -

_ _ fast call MyThread::MyThread(bool create suspended)

:TThread(創建掛起的)

{

}

// -

void _ _ fast call MyThread::Execute()

{

// -在此放置線程代碼-

}

// -

Execute()函數是我們希望在線程中實現的任務代碼所在的位置。在原代碼中包含Unit2.cpp,我們創建的TMyThread對象就可以使用了。使用時,動態創建壹個TMyThread對象並在構造函數中使用Resume()方法,然後在程序中添加壹個我們自己定義的新線程TMyThread,要執行的具體代碼是execute()方法重載的代碼。要加載更多線程,沒關系,只需繼續創建所需數量的TMyThread對象。