[メモ]プログラムメモ_マルチスレッド
Windows環境,C++言語でのマルチスレッド
自分用メモ.
ちなみに,ソケット通信はこちら.
スレッドは仮想的に並列処理すること.
↓↓プログラムリスト↓↓
ーーーーーーーー【C++マルチスレッド】ーーーーーーーー
#include <stdio.h> ←半角にする
#include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
int main(void);
void thre1(LPVOID pParam);
void thre2(LPVOID pParam);
int aaa = 0;
/************* メイン文 *************/
int main(void){
cout << "start\n";
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthread(thre1,0,NULL); //スレッド1作成
hThread[1] = (HANDLE)_beginthread(thre2,0,NULL); //スレッド2作成
//スレッド1、2終了待ち
WaitForMultipleObjects(2,hThread,TRUE,INFINITE);
//ハンドルクローズ
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
cout << "end\n";
return 0;
}
/************* スレッド1 *************/
void thre1(LPVOID pParam)
{
while(1){
cout << "action1\n";
cout << aaa << "\n"; //表示
Sleep(1000);
}
}
/************* スレッド2 *************/
void thre2(LPVOID pParam)
{
while(1){
cout << "action2\n";
aaa += 1; //変数加算
Sleep(1000);
}
}
※注意
「Visual C++ 6.0」の場合,次の操作が必要
メニュー
→「プロジェクト」→「設定」
→「プロジェクトの設定」→「C/C++」タブ
→カテゴリ(y)のコンボボックスから「コード生成」
→使用するランタイムライブラリの中から
デバッグ構成の場合は「マルチスレッド(デバッグ)」を
リリース構成の場合は「マルチスレッド」を選択
コメントする