在C++ WinForm程序中實現多線程可以使用std::thread
庫來創建新的線程。下面是一個簡單的示例代碼:
#include <Windows.h>
#include <thread>
#include <iostream>
void foo() {
for (int i = 0; i < 10; i++) {
std::cout << "Thread 1: " << i << std::endl;
Sleep(1000);
}
}
void bar() {
for (int i = 0; i < 10; i++) {
std::cout << "Thread 2: " << i << std::endl;
Sleep(1500);
}
}
int main() {
std::thread t1(foo);
std::thread t2(bar);
t1.join();
t2.join();
return 0;
}
在這個示例中,我們通過創建foo
和bar
兩個函數來分別作為兩個線程的入口函數。然后使用std::thread
庫創建t1
和t2
兩個線程對象,并分別將foo
和bar
函數作為參數傳入。最后通過調用join
函數等待線程執行完成。
需要注意的是,多線程編程需要注意線程間的同步和互斥,避免出現數據競爭和其他并發問題。在實際應用中需要仔細設計多線程之間的通信機制和數據共享方式。