[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 20:36 / Filesize : 218 KB / Number-of Response : 953
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part78



1 名前:v(^・^)v mailto:sage [2010/02/13(土) 23:18:03 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part77
pc12.2ch.net/test/read.cgi/tech/1263556932/

151 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:57:31 ]
>>144
valtですか。
ありがとうございます。


152 名前:デフォルトの名無しさん [2010/02/17(水) 20:58:22 ]
Boost.Coroutine
ttp://hamigaki.sourceforge.jp/doc/html/coroutine.html

2009-12-12 - melpon日記 - C++すら(ry
Boost][C++]Boost.勉強会の資料
ttp://d.hatena.ne.jp/melpon/20091212
ttp://melt.sytes.net/data/Boost.Coroutine.ppt
・Boost.Fiber という対抗馬も最近出てきた


153 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:59:10 ]
理想的には部品丸出しではないが、
バカが作ると部品を理解していなければならなくなる
仕様だな。


154 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:06:26 ]
マルチスレッドキューでロックしないサンプルできた。読み込むに失敗・キューがないときにwaitはいれたが。

#include "include/tbb/concurrent_queue.h"
#pragma comment (lib, "tbb.lib")
#include <process.h>
#include <windows.h>
#include <iostream>
using namespace std;
using namespace tbb;


concurrent_queue<int> que;
int s[2]={0,0};

unsigned WINAPI fnc(void *n) {
int x,num=(int)n;
while(1) {
if( !que.try_pop(x) ) { Sleep(100); continue; }
if(x==-1)return 0;
s[num]+=x; }
}


int main() {
HANDLE hd[2];
int n;
for(n=0; n<2; n++) hd[n]=(HANDLE)_beginthreadex(NULL, 0, fnc,NULL, n ,NULL);
for(n=0; n<=1000; n++) que.push(n);
que.push(-1); que.push(-1);
WaitForMultipleObjects(2, hd, TRUE, INFINITE);
cout<< s[0]+s[1]<<endl;
getchar(); }

155 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:08:51 ]
0から1000まで足すだけ。キューへマルチスレッドでpush、popして
読み取って空いてるスレッドが足し合わせていくサンプル。
答えは合ってたよ。

156 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:10:28 ]
キューではロックしているだろうがな。そこを自作せずに済んだという話だ。

157 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:20:49 ]
プログラム組んでて
returnって打ったつもりだったら

tryit,

って打ってた
なんか感動した

158 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:21:46 ]
rをtにずらして打ってみると・・・!?

159 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:22:04 ]
ゴルゴはtrycatchfinallyを0.5秒でタイプするらしい



160 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:23:35 ]
>>157
夢を感じた

161 名前:デフォルトの名無しさん [2010/02/17(水) 21:33:09 ]
HDL ではごく普通というか大前提の話なんだが
直列処理という枠に凝り固まった頭で見ると驚きの連続なんだろうな

162 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:39:17 ]
任意の整数を返す関数が、失敗も正常フローだった場合に
すっきりするエラー通知の仕方はある?

163 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:40:28 ]
任意の整数を返す関数が、失敗も正常フローだった場合に
すっきりするエラー通知の仕方はある?

164 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:42:11 ]
任意の整数を返す関数が、失敗も正常フローだった場合に
すっきりするエラー通知の仕方はある?

165 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:45:58 ]
任意の整数を返す関数が、失敗も正常フローだった場合に
すっきりするエラー通知の仕方はある?

166 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:46:42 ]
パラメータになんか持たせるとか

167 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:57:56 ]
なにを?

168 名前: ◆GWRSHcLrd6 mailto:sage [2010/02/17(水) 22:01:15 ]
_beginthreadとCreateThreadは何が違うんですか?
というかどっちを使った方がいいんですか?

169 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:07:13 ]
>>167
判断できる情報を

>>168
適材適所。常にどちらかがよいということはない



170 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:11:21 ]
C++の配列サイズ指定で変数は使えることもあるんでしょうか?それともコンパイラ依存でしょうか?
MinGWで下をコンパイルは正常にでき(Warningも出ない)、arrayのsizeofは32byteとなってちゃんと確保されているようです。

#include <iostream>
using namespace std;
int main() {
int num = 3 + 5;
int array[num];
for (int i = 0; i < num; i++) {
array[i] = i;
}
cout << sizeof array << endl;
}


171 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:12:44 ]
正確にはC++ではなくC99で使える様になったはず

172 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:18:32 ]
>>170
gccの独自拡張

173 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:25:20 ]
>>168
CreateThreadはWindowsAPI、_beginthreadはCランタイム。

CreateThreadで生成したスレッドでCランタイム関数を使うとExitThreadしたときにわずかだがメモリリークが発生するため、
MSはそのような場合には_beginthreadを使うように推奨している。


174 名前: ◆GWRSHcLrd6 mailto:sage [2010/02/17(水) 22:32:21 ]
なるほど。
参考になりました。

unix - windows 互換のスレッド関係の関数は無いんですかね・・・

175 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:38:29 ]
Cランタイムって何?

176 名前:154 mailto:sage [2010/02/17(水) 22:41:42 ]
修正。引数渡す場所間違えて一スレッドしか動いていない。
#include "include/tbb/concurrent_queue.h"
#pragma comment (lib, "tbb.lib")
#include <process.h>
#include <windows.h>
#include <iostream>
using namespace std;
using namespace tbb;
#define N 3
concurrent_queue<int> que;
int s[N];
unsigned WINAPI fnc(void *n) {
int x,num=(int)n;
while(1) {
if( !que.try_pop(x) ) { Sleep(100); continue; }
if(x==-1){ cout<<"正常終了number:"<<num<<endl; return 0;}
s[num]+=x;Sleep(rand()%50); }}

int main() {
HANDLE hd[N];
int n;
for(n=0; n<N; n++) s[n]=0;
for(n=0; n<N; n++) hd[n]=(HANDLE)_beginthreadex(NULL, 0, fnc, (void*)n, 0 ,NULL);
for(n=0; n<=50; n++) que.push(n);
for(n=0; n<N; n++) que.push(-1);
WaitForMultipleObjects(N, hd, TRUE, INFINITE);
int sum=0;
for(n=0; n<N; n++) {cout<< "スレッド"<<n <<"の合計 "<<s[n]<<endl; sum+=s[n]; }
cout<<"総和 "<<sum<<endl;
getchar(); }

177 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:44:40 ]
>>174
pスレッド windowsというのがあるが、おすすめしない。
一度にアクセスが起きるとバグった経験有り。同じ物をwindowsの命令に書き換えたら動いた。
スレッドのどれか一つ or全部の終了待ちがない気がする。

178 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:47:23 ]

Open Source POSIX Threads for Win32
sourceware.org/pthreads-win32/


179 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:51:55 ]
一時期windowsであっても、linuxの互換コードで書くべきだという考えが起こり
全て統一しようとしたがPthread for winがうまく動作しないので諦めた経験ある。
現在の環境で生産性の良い、短いコードで済ますのが一番という考えになった。
完成品が出来なければ意味ない。完成していれば他OSへも移植しやすい。






180 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:00:42 ]
QtやBoostその他 ラッパライブラリじゃできないの?


181 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:02:56 ]
Qtもboostも標準にはいってないじゃん
サイズもでかいし
linuxでどこでも使えるのはPthreadだけでは

182 名前:180 mailto:sage [2010/02/17(水) 23:07:16 ]
>>181
その方、Pthreadはいつから標準になったと申すか。

183 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:09:31 ]
POSIX Threads, or Pthreadsのライセンスは
This implementation is free software, distributed under the GNU Lesser General Public License (LGPL).

え?誰も聞いてないって?


184 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:13:49 ]
入ってないlinuxはないんでは。c/c++がコンパイル可能な環境なら。

185 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:16:36 ]
標準っていうか、プリインストールって言いたかったわけか。


186 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:18:22 ]
ち、違うよ。

187 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 00:57:43 ]
どっちもbccでうごかん。 
lock-freeの高速キューを作ってくれよ。
インラインアセンブラ・マクロの特殊構文の多用が原因と思われる。
windows 標準のcas命令のみで頼む。

Thread Safe Template Library
sourceforge.jp/projects/freshmeat_tstl/

Intel Threading Building Blocks
www.threadingbuildingblocks.org/

188 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 01:43:02 ]
bccなんてポンコツ捨てろよ

189 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 04:41:14 ]
bccは毎年新規で販売してるんだぞ。
コンパイル速度速くて良いんだこれは。



190 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 04:49:50 ]
httpサーバーなどへIf-Modified-Sinceをつける場合statでファイルの更新日付を
取得してどのように変換すればいいのでしょうか?

日本時間に直すサンプルは見かけるのですがGMTのまま文字列化する方法が
わかりません

191 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 08:08:13 ]
スレッドセーフキューがマルチスレッドの要なんです
マクロやアセンブラ使わずに書いてくれると喜ばれますよ

192 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 08:22:15 ]
STLportがスレッドセーフなSTLだった
これつかお

193 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 11:43:35 ]
わざわざいうな

194 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 15:34:49 ]
>>190
strftimeじゃできないの?

195 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:14:32 ]
プロの方はスマートポインタを使うのが基本とのことですが、例えば引数なんかも
hoge( shared_ptr<Test>& sp )といったかんじになるんでしょうか?
それとも受け渡しは生のポインタで行い、オブジェクト側でスマートポインタに格納ような
使い方ですか?

196 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:44:09 ]
参照渡しだよ

197 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:07:01 ]
STLportがbccでコンパイルできん

198 名前: ◆GWRSHcLrd6 mailto:sage [2010/02/18(木) 20:43:01 ]
>>195
僕はクラスのメンバ関数が前提なら、
関数を所有するクラスがオブジェクトをメンバ変数に保持するときはスマートポインタを、
一時的に使うだけなら参照で渡します。

>それとも受け渡しは生のポインタで行い、オブジェクト側でスマートポインタに格納ような
一番やっちゃいけない気がするんですけど・・・


199 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:44:30 ]
>>171 >>172
アドバイスありがとうございます。
手元のどの参考書見ても変数は使えないと書いてあってあれ?と思っていたしだいです。
Visual C++で使えないようなのでgccだけなんですね。



200 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:19:13 ]
>196 >19
ありがとうございます。
今試してみましたが同一ポインタを複数のshared_ptrに格納すると、
shared_ptrの数だけデストラクタが呼ばれてしまうんですね。
基本は参照で複製を作らないようにするということですね。

201 名前:デフォルトの名無しさん [2010/02/18(木) 22:21:29 ]
>>200
そう。
RAIIを徹底しろ。

202 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:21:59 ]
失礼しました。
>>196 >>198でした。

203 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:22:59 ]
g++やVC++などの有名どころのC++コンパイラについてお聞きしたいのですが、
コンパイル時定数を使った
ttp://codepad.org/EmT4J9d3
こんなifによる分岐があるとします。

このとき、成果物.exeはちゃんと最適化されて
分岐が消えるのでしょうか?

よろしくお願いします。


204 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:25:05 ]
codepadで使ってるg++とVC9.0では消失を確認

205 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:36:54 ]
ありがとうございます。
const bool ctc = 100; // compile-time constants

bool ctc = 100; // NOT compile-time constants
にしても同じでしょうか?
(volatileは付けません。)

お手数をおかけ致しますが、よろしくお願いします。



206 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:50:06 ]
const bool ctc = 100; // compile-time constants
に関しても同じ(キャストはちゃんとした方がいい)。
そもそも実行時への互換性を保たないと最適化というのはできないからね。

bool ctc = 100; // NOT compile-time constants
でも、単純にctcへの変更が無い事から最適化がなされた(204と同じ環境で)。
ただ、このケースは後のコードに完全に依存しているから考察する価値はあるのかどうか疑問だな。

207 名前:205 mailto:sage [2010/02/18(木) 23:02:24 ]
>>206
ご教示ありがとうございます。

そういったことは、どうやって調べればよいのでしょうか?
.asmを出力して調べているのでしょうか?


208 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:05:31 ]
>>207
そうだよ。

209 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:08:17 ]
YOUバイナリ読んじゃいなYO



210 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:08:49 ]
>>208
ありがとうございます。
asmからは逃げ回ってきているので全然読めそうにありません。
勉強しなければなりませんね。。。

211 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:09:33 ]
別に勉強しなくても片手間にasmの命令リストと見比べてるだけだけどね。

212 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:15:53 ]
asmってコンパイラやアセンブラによって
扱いが違うからやだ

213 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:16:19 ]
なんかアセンブリって難しそうなイメージある
低級だから追いかけるのが大変なだけで難しい構文とかはむしろ少ないんだろうけど・・・

214 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:21:24 ]
アセンブリ自体は簡単だけど、他の言語で出来ることをアセンブリでするとか考え出すと難しい

215 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:23:20 ]
アセンブリで全部済むならプログラミング言語なんて必要ないわけで

216 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:27:53 ]
そう考えるとC言語とか
移植性もあってすげえ言語だな。
今更だけど。



217 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 00:45:23 ]
>>216
cが優秀じゃなくてcコンパイラ作った人が優秀なだけだな

218 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:11:59 ]
規格作ったやつだ。
Cコンパイラは、上司が監視して下っ端が要求通り作ってるだけ。
初めの設計図が一番。
たとえば、アニメは動画マンという超低賃金のやつらがやっているが
宮崎駿や原作漫画家がいるから開発できるんだ。

219 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:18:03 ]
>>218
現存するコンパイラは確かに規格ありきで作り始めてそうだけど、元々は
たくさんの環境向けに作られていた C の共通部分を元に規格化されたんだから、
先にコンパイラ作ってた人が下っ端ということはないだろう。



220 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:33:47 ]
>>219
まあ初期のC言語確立やコンパイラ作ったような人たちは
上も下もねーだろうな
小さいチームで多少リーダー的存在がいるくらいだろうし
そういう中で試行錯誤しながらとかだろうし

その後の各環境ごとのコンパイラ開発はC言語そのものがあるんだし
それにあわせちゃえばいいので作業だろうな
(でもそれなりに知識は要るので下っ端ってわけじゃないだろうけど

221 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 02:48:53 ]
>195
そんな渡し方したら危険じゃない?


222 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 05:22:11 ]
ファイルIO( open close load)がかなり時間かかるから
要求を並列で出しておくと時間短縮するね。
細かい多数のファイルで2倍-3倍くらいの向上。

223 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 06:34:44 ]
5倍を目指してくれ

224 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 07:29:30 ]
files=20

225 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:47:04 ]
dmr にあやまれ。

226 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 14:45:10 ]
How many files(0-15)?■

227 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 15:58:57 ]
じじい乙

228 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 17:54:32 ]
ここの人ってワイルドカード欲しい時に何使ってるの?
boost使ってる人なら正規表現なんだろうけど、
使って無い人が気になる。

229 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:03:44 ]
windows api か
正規表現で代用



230 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:21:07 ]
俺は魔法だなあ

231 名前:デフォルトの名無しさん [2010/02/19(金) 21:12:55 ]
そもそもワイルドカードと正規表現がどうつながるんだ?

232 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:14:55 ]
ワイルドカードでできる事は正規表現でできるだろ

233 名前:デフォルトの名無しさん [2010/02/19(金) 21:31:27 ]
C++ でできる事はアセンブラでもできるんだが
そういう問題ではあるまい?

234 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:33:36 ]
何を言ってるんだ…

235 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:36:52 ]
ポインタが使える人、暇な人に質問です。
下のコードはメモリの確保と解放がきちんとなされてるでしょうか?
codepad.org/GUSgjZWM

236 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:39:35 ]
異常なし

237 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:45:42 ]
暇な人とは失礼な

改めていわれなくてもこんなところ見てる段階で暇・・・

238 名前:デフォルトの名無しさん [2010/02/19(金) 22:05:30 ]
>>233
正規表現が無い環境だってあるじゃない。
外部ライブラリも不可とか。
その例で言うとC++が使えない環境という事。
「C++使えないなんてあるわけないじゃん」とは言えまい?

239 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:10:36 ]
>>238
C++使えないって、組み込み系とかですか?
なんかろくなコンパイラがないってことなんでしょうか。



240 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:19:26 ]
>>239
例えばの話です。
組み込み系なんてサッパリ^O^

241 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:23:34 ]
なんで2つの言葉のつながりから、環境がどうこうの話になるんだ。
話の流れ方に病的なものを感じる。

242 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:24:52 ]
病的っていうか、知ったばかりの単語を中学生が使いたがってるだけな雰囲気

243 名前:デフォルトの名無しさん [2010/02/19(金) 22:26:19 ]
>>238
あったねー、OS にワイルドカードがなくてアプリが独自にサポートしてたケース
アプリごとに微妙に解釈が違ってて脱力ずっこけが何度もあった

>>239
C++ 自体はどのシステムにでも使えるぞ、C++ で HEX や HDL が作れるわけで

244 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:26:46 ]
>>235
パッと見だがリークすると思う

t = new Test;
を解放してない

delete t;
が必要じゃない?

245 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:28:24 ]
聞く前にop new/deleteでカウントするぐらいはやってみようよ

246 名前:235 mailto:sage [2010/02/19(金) 23:07:57 ]
>>244
見落としてました。
>>245
new、deleteをオーバーライドってことでしょうか?
やってみます。

どうもありがとです。

247 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:49:29 ]
Test *New(int index0,int index1,int index2);
の途中で失敗した場合のリークも


248 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 01:39:58 ]
worker threadパターンを実装したいので
既存の関数を実効させる部分をテンプレートで
実装したいのですが、どのように書けばいいのか
わかりません。

たとえば、f1、f2、f3を同じworke threadクラスで
扱うにはどのようにコーディングするのが正しいのでしょうか

249 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 01:47:04 ]
スレッドを起動させっぱなしにするのがワーカースレッドっていうのか。

>>176のunsigned WINAPI fnc(void *n);もワーカースレッドだな。参考にしてくれよ。



250 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 01:48:51 ]
>>176は一つのキューに挿入と取り出しを行い、3スレッド並列で空いたら
スレッドからデータを取り出し処理を行う。

251 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 01:51:15 ]
キューが貯まったら各関数に通知したら、ビジーループを防げるけど
面倒なので100ms毎に確認しに行くようになっている。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<218KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef