- PR -

マルチスレット

投稿者投稿内容
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2007-02-13 11:48
引用:

MARE-さんの書き込み (2007-02-13 11:25) より:

動かすたびにスレッド1とスレッド2の表示の順番が異なるという結果がでるだけの「実例コード」が欲しいんです。


これが、調べても出てこなかった、なんて、私は信じませんけどね。
引用:

余計な機能がつきすぎて核がわからなかったりなので


これだって、
1.サンプルを丸写してきて、とにかく動作するようにする。
2.余計な機能を削除する。(何が余計かは、判断できるんですよね)
これで、お望みのものが手にはいると思います。
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2007-02-13 11:53
みなさん、知らないことは知らないとちゃんと答えてあげたほうがいいですよ。
もちろん僕は知らないです。マルチスレットの検証なんて。
しかし、マルチでスレットだなんてなんか分からないですが怖いですね。


・・・という挙げ足とりはおいといて、実際に「VC++でマルチスレッド」だと検索してもあまり手ごろそうなサンプルは見つからないかも。

[ メッセージ編集済み 編集者: sawat 編集日時 2007-02-13 12:08 ]
D.Matsu
ベテラン
会議室デビュー日: 2006/12/07
投稿数: 51
投稿日時: 2007-02-13 12:10
引用:

sawatさんの書き込み (2007-02-13 11:53) より:
実際に「VC++でマルチスレッド」だと検索してもあまり手ごろそうなサンプルは見つからないかも。



いや、あっさり見つかりましたよ?
50行程度の超シンプルな奴が。
#簡単に見つかるんでわざわざ提示はしませんけどね

-- 追記 --
あー、でもMFCのCThreadとかだと確かにサンプル少ないかもしれませんね。
#私が見つけたのはWIN32 APIだし
-- /追記 --


[ メッセージ編集済み 編集者: D.Matsu 編集日時 2007-02-13 12:15 ]
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-02-13 12:15
M女史といい。まいこといい。みつるといい。mukoubutiといい。MARE-といい。
全員Mだなw

コードは転がっていると思うわけだが。
http://www.google.co.jp/search?hl=ja&q=VC%2B%2B+%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

編集:mukoubutiを追加

[ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2007-02-14 15:51 ]
MARE-
会議室デビュー日: 2007/01/30
投稿数: 14
投稿日時: 2007-02-13 13:17
たとえば、
#include <stdio.h>
#include <windows.h>
#include <process.h>

unsigned __stdcall mythread(void *);

int main()
{
DWORD thID;
HANDLE hTh;
int i;

hTh = (HANDLE)_beginthreadex(NULL, 0, mythread, NULL, 0, &thID);

for (i = 0; i < 20; i++) {
printf("Mainです[%d]\n", i);
}

if (hTh != NULL) {
CloseHandle(hTh);
printf("ハンドルクローズしました\n");
}


return 0;
}

unsigned __stdcall mythread(void *lpx)
{
int i;
for (i = 0; i < 4; i++)
printf("スレッドです[%d]\n", i);
return 0;
}
を実行すると、
error C2065: '_beginthreadex' : 定義されていない識別子です。
ってエラーが出てきます。
こんなんばっかりな実例コードばっかりしか見つかりません。
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-02-13 13:27
コンパイラにマルチスレッドを使用することを伝えていないからでは?

多分、猫でもわかる〜のページのサンプルだと思いますが
>「マルチスレッドのプログラムを作る時は、前準備が必要です」
と書いてありますよ。

ありゃ、修正していたらかぶった..

[ メッセージ編集済み 編集者: 末記人 編集日時 2007-02-13 13:38 ]
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-02-13 13:33
たぶん、「猫でもわかるプログラミング」からの転載だと思うのですが
ページには

引用:

当ホーム・ページの一部または全部を無断で複写、複製、転載あるいはコンピュータ等のファイルに保存することを禁じます。



って書いてありますよ。。。
MARE-
会議室デビュー日: 2007/01/30
投稿数: 14
投稿日時: 2007-02-13 13:42
ソリューションエクスプローラでソリューションの名前を右クリックして「プロパティ」を選択します。「C++」の「コード生成」でランタイムライブラリを「マルチスレッド(/MT)」にします。

って意味もよくわかりません。

スキルアップ/キャリアアップ(JOB@IT)