- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:35:32 ]
- マルチスレッドプログラミングについて語るスレ。
その1 pc3.2ch.net/tech/kako/997/997345868.html その2 pc5.2ch.net/test/read.cgi/tech/1037636153/ その3 pc8.2ch.net/test/read.cgi/tech/1098268137/ その4 pc8.2ch.net/test/read.cgi/tech/1130984585/ その5 pc11.2ch.net/test/read.cgi/tech/1157814833/ OS・言語・環境は問わないが、それゆえ明記すべし。 テンプレ 【OS】 【言語】 【実行環境】 【その他突起する事項】
- 110 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:58:17 ]
- PUSH,POPは気を使わない。それぞれ単純に排他制御するだけだ。
気を使うのは、例えば何かの目的のために一つの処理の中で pop,pushを続けて行おうとたらその間に別スレッドが実行されて 意図せず状態が変わってしまうようなことが発生すること。 排他制御していない箇所はどんなタイミングでどのスレッドが 実行されるかわからないことを肝に銘じておく必要がある。 『実験により1つではエラー起きやすい』 こんなこと言ってるようじゃ駄目だ。なぜ1つでエラーと なったのか論理的に分かるまで追え。まあDoEventを愛用 する奴にはマルチスレッドは剥いていない
- 111 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 23:15:46 ]
- VBAってCOMオブジェクト主体じゃないのか
マルチスレッドの意味あんのかな
- 112 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 00:43:06 ]
- >101
VBA単独でスレッドを起こす手段がないからな。明記する必要もないだろ。 VBAだけじゃMutexとか同期用のオブジェクトをどうやって扱ったらいいものか、 スレッドを起こす手段がないので同期に関する記述もないからなぁ。 それにCOMだし意味がないかもな。
- 113 名前:デフォルトの名無しさん [2007/09/08(土) 01:29:00 ]
- 適当なスレが判断できないのでここで質問させて下さい。
msvcrt.dllやスタティックなVC6以降のmallocとfreeの動作についてですが、 _beginthreadexで作成した各スレッドで、あるスレッドがmallocしたメモリを 違うスレッドでfreeする事は合法でしょうか? 過去の自分の書いたコードで見つけてしまいました。 なんかやばそうな気はするんですが。
- 114 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:35:12 ]
- >>113
何を知りたいの?もうちょっと明確に話まとめろよ このインキン野郎が
- 115 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:51:13 ]
- >>113
スレッドが異なることは問題ない。 メモリ管理で問題になるのはモジュール(EXEやDLL)が異なる場合。 ただし、この場合でもすべてのモジュールのCランタイムを 動的リンク(msvcrXX.dllを使う)にしておけば、問題は発生しないはず。
- 116 名前:デフォルトの名無しさん [2007/09/08(土) 21:25:21 ]
- ありがとうございました。
一応きちんと動いてはいるみたいなので放置します。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:20:00 ]
- マルチスレっ
- 118 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 03:22:50 ]
- 合法か違法かで言えば合法だろうし、(問題でてないのに)直すってのもアレだけど、
行儀わるいよな。
- 119 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 03:47:08 ]
- >>118
アプリ全体のログを採る処理で、printfみたいな書式文字列を mallocやreallocでメモリに貯めていって、ある程度溜まった段階で 清書してファイルに吐き出して、使った分をfreeしてくという仕組みなんですが、 CriticalSectionの排他で順番だけ決めてるだけで、どのスレッドが メモリ管理をする、というのを決めてないんです。 まあ、最初と最後の破棄とかはメインスレッドがするんですが。 試しにスレッド間通信したらパフォーマンスが悪かったので こんな仕様にしたような記憶があります。 どうしたらいいでしょうかね。
- 120 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 11:39:09 ]
- きちんと管理できてるんなら問題ないでしょ。
C++ならstd::stringとか使ってくれた方が楽そうだけど
- 121 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 15:29:38 ]
- マニアックにboost ropeで
- 122 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 07:56:13 ]
- boost? STLportじゃなくて?
- 123 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 18:00:27 ]
- XP/2000のスレッドで質問です。
親子関係にあるスレッドで、親をなるべくブロックさせずに、 毎秒数KB程度のデータを子に送信したいと考えています。 (子は1つで、子の応答はいくら遅れてもかまわない) クリティカルセクションでデータの排他をに試したら、 子供の処理が長引くだけ親がブロックされてしまうので、 別の方法を検討しています。 こういった場合、スレッド同士の同期オブジェクトを介さずに データをバッファに溜めておける名前付きパイプが良いかなと 思ったのですが、こういった用途に使えるでしょうか。
- 124 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 18:16:31 ]
- パイプの長さは必ず確保するという話ではなかった気がするなあ
>クリティカルセクションでデータの排他をに試したら、 >子供の処理が長引くだけ親がブロックされてしまうので 通常、 バッファへの追加 バッファからの取り出し 以外は排他する必要はないと思うんだが、違うのか?
- 125 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 18:25:19 ]
- >>123
子スレッドが処理終わるまでロックさせっぱなしにしないで、 さっさと必要なデータをコピーしてクリティカルセクションから抜けたら?
- 126 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 18:38:07 ]
- >>123
子供2つにすればいいだろボケシネカス
- 127 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:55:31 ]
- 10ヶ月かかるし。
- 128 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 20:48:36 ]
- 処理が終わるまで待ってたらスレッドの意味が無い。
- 129 名前:デフォルトの名無しさん [2007/09/19(水) 20:55:43 ]
- 【OS】
Debian Etch Linux kernel 2.6.18 【言語】 C pthread 【実行環境】 GNU gdb 6.4.90-debian gdbでのマルチスレッドのデバッグ中、任意のスレッドでステップ実行をしていると とつぜんカレントスレッドが切り替わり、 ステップ実行していたスレッドの実行位置が失われる現象に遭遇します。 デバッグ対象のプログラムは、動作確認がとれているオープンソースのプログラムです。 原因、回避法等ご存知のかた、ご教示いただけないでしょうか
- 130 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:12:16 ]
- gccスレにも行っとけ
- 131 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:58:11 ]
- >>129
250万でサポートしてやるけどどうよ?
- 132 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 23:06:29 ]
- 250万の内訳を教えてくダサイ
- 133 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 23:24:38 ]
- サンドバック料:200万
治療代:50万
- 134 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 23:28:49 ]
- >>132
年間保守契約費 200万 登録費 30万 事務手数料 20万 だが?
- 135 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 23:17:41 ]
- ずいぶんと安いね
- 136 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 04:16:06 ]
- これからはsignalfdだな
- 137 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:05:07 ]
- ロックしたら負けかな、と思ってる
- 138 名前:デフォルトの名無しさん [2007/09/24(月) 18:56:19 ]
- erlangマンセー
- 139 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 12:41:04 ]
- malloc(), free()ってスレッドセーフなんですか?
- 140 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 15:01:14 ]
- お前が使っているライブラリのマニュアル嫁
- 141 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 18:07:16 ]
- >>140
man malloc ってやってもスレッドセーフに関する記述がないんです...
- 142 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 18:41:26 ]
- 使っているOSの名前、バージョンを言わないのは初心者気取りか?
- 143 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 20:23:28 ]
- 対応してる。大丈夫だ。
- 144 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:14:38 ]
- >>143
安心しました。ありがとうございます。
- 145 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 23:24:04 ]
- 藻前詐欺にあい易いタイプだろ
- 146 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 23:39:03 ]
- ワロタ
- 147 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:06:02 ]
- 昔おれ衝動買いの時によくやった
店員に騙されるパターン 信じてたのに・・・・
- 148 名前:デフォルトの名無しさん [2007/09/30(日) 01:20:45 ]
- マルチスレッドでcoutを使うと表示がぐちょぐちょになって醜いです。
どうしたらいいでしょうか?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:21:34 ]
- C++の仕様。
printf使いなさい。
- 150 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:27:17 ]
- すみませんprintfでも同じです
- 151 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:31:42 ]
- coutという一つの資源を複数のスレッドで取り合うからそうなる。
排他機構を使ってひとつのスレッドが使っているときに他のスレッドが使うことが無いようにしろ。
- 152 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:33:10 ]
- 出力スレッドでも作って、そいつに全部押しつけろ。
- 153 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 10:08:32 ]
- pthreadつかってマルチスレッドのプログラム作ってるんだけど.
なぜか特定のタイミングでピタッと動かなくなる(デッドロックというのか?) それ以降プログラムがうんともすんともいわなくなる. デバッグする際にみんなどういうことやってる?gdbは使い物にならないし...ltraceも使えない... やっぱりソースコードを目で追っていってるわけ?
- 154 名前:148 [2007/09/30(日) 10:48:06 ]
- >>151-152
そんな事したらめんどくさくないですか? もうちょっと簡単な方法でお願いします
- 155 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 10:56:45 ]
- >>154
諦めろ
- 156 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 10:58:21 ]
- ソースを追うっていうか、どんなケースが起こりえて、
すべてのケースの組み合わせに対応できているか検証する。 大体は、止まりそうな場所はわかるから、そこを調べて、 次に、ブロックするかもしれない操作を洗い出して調べる。 止まる場所は突き止めたけど、どうして止まってしまうかわからない場合は、 状態をログに出したりするかな。 デッドロックより、最適化とかOoOでの実行順序の入れ替わりとか、 可視性が関わるバグの方が、調べるの大変だと思う。
- 157 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 11:12:22 ]
- coutやprintfがMT-safeでも、
出力が崩れるのはどうにもならないと思うので、 出力処理全体を1セットとして、ちゃんと排他しないと駄目だろう。
- 158 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:22:06 ]
- >>148
スレッドごとに出力先を分ける。
- 159 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:23:05 ]
- >>154
マルチスレッドプログラミングが「面倒くさい」ものでないならば そもそもこんなスレは存在して無いだろうよ。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:40:06 ]
- >>154
ぐちょぐちょにならないっていうことの意味をもっとはっきりしないとだめだね 一番綺麗なのは、スレッドAの表示がすべて終わってからスレッドBの表示をすることだが、それならシングルスレッドにするのが一番簡単 つまりマルチスレッドやめれば解決
- 161 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:43:19 ]
- >>154
ドトネトのSystem.Consoleクラスならマルチスレッドセーフ。w
- 162 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:50:16 ]
- >>161
素朴な疑問なんだが、そのマルチスレッドセーフとは出力が混ざらないことまで保障してくれるのかね。 # だとしたら、逆に激しく不便なんだが。
- 163 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:03:37 ]
- >>158のは、言われてみれば当たり前なんだが、
簡単だし、間違いないな。 変数/オブジェクトの持ち回りとかが、複雑になってたら、 スレッドローカルな変数を使えばいいし。
- 164 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:04:48 ]
- メソッド一発分が安全に動くだけだろ。
- 165 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:07:48 ]
- >>162
Console.WriteLineはアトミックに実行されて出力は混ざらないね。 ReadLineは1つのスレッドが入力実行中は他はブロックされるかな? 混ざらないとどの辺りが激しく不便なのでしょうか?
- 166 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:09:34 ]
- >>164
それ以外に何を求めると?
- 167 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:12:41 ]
- 行単位でも混ざって欲しくなかったら>164では不十分だろ。
行単位で適宜出力して欲しかったら混ざらなかったら不便だろ。
- 168 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:15:25 ]
- まず、「混ざる」の定義からはじめろ。
バイト単位なのか、 マルチバイト、ワイドキャラクタ等の文字単位なのか、 出力ストリームのメソッド単位なのか、 複数の出力ストリーム書き込みをまとめた、プログラムの中で定めたオレ単位なのか。
- 169 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:19:52 ]
- 初心者なオレのためにライブラリ、クラスのスレッドセーフの
定義を騙ってください。
- 170 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:28:21 ]
- >>166
何も求めてねーよ。 >>162に答えただけだ。
- 171 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:34:16 ]
- >>170
メソッド一発分が安全に動くだけ以外のことをされると マルチスレッドでは激しく使い辛いですな。。
- 172 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 17:35:19 ]
- >マルチスレッドでは激しく使い辛いですな。
わかんねー奴に俺が翻訳してやる。 せっかく並列に動くのに余計なロックするなや 別に使い方が面倒になるわけじゃないよ いじょ
- 173 名前:148 [2007/09/30(日) 18:12:10 ]
- もういいです。わたしが馬鹿でした
もうあきらめます。
- 174 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 18:20:52 ]
- なんだ、学習意欲のないやつだな
- 175 名前:148 [2007/09/30(日) 19:21:43 ]
- すみませんが、本当にわかる方、回答をお願いします。
- 176 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:28:32 ]
- 残念だったね。
- 177 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:36:20 ]
- 自分でマルチスレッド対応のストリームつくればいいじゃん
- 178 名前:148 mailto:sage [2007/09/30(日) 19:44:05 ]
- >>177
そんな事したらめんどくさくないですか? もうちょっと簡単な方法でお願いします
- 179 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:49:11 ]
- そもそもプログラミング自体めんどくさくないですか?
ありあわせのフリーソフト探してくる方法が簡単だと思います
- 180 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:50:56 ]
- そもそも生きてるってめんどくさくないですか?
氏ねば簡単ですよ
- 181 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:56:18 ]
- >>180
どうやったら楽に死ねますか? 簡単そうな方法にはちょっと勇気が必要だし、そうでないのは簡単じゃないし
- 182 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 21:09:17 ]
- >>180
旅立ちパックの中に 連単はいってるからつかえ 以上
- 183 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 22:14:37 ]
- >181
死ねばすべてが楽になるんだ 楽したいなら、死ぬ努力ぐらいはしてもいいだろ 俺は死にたくないから、努力して生きるよ
- 184 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 23:11:03 ]
- >>178
ストリーム出力だけロックすれば済む話だろうが〜 どこが面倒なんじゃ〜?
- 185 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 01:35:10 ]
- マルチスレッドプログラミングは初心者には無理だよ
面倒=やり方がよくわからない という事であればこの先できるようになる見込みもなし 厳しいけどこれ現実なのよね
- 186 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 03:15:20 ]
- スレッガーさん!
- 187 名前:デフォルトの名無しさん [2007/10/03(水) 20:59:05 ]
- スレッドセーフじゃない場合はどうするつもりだったのかと・・・
スレッドセーフだったらどうしたかったのかと・・・ まぁいいや、どうせネタでしょ?
- 188 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:51:11 ]
- 次世代ゲーム機のCPUみたいにレジスタが山ほどあるCPUて
コンテキストスイッチのオーバーヘッドも比例して増えてるんかな
- 189 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 16:02:08 ]
- 一部しか保存しなくてすむようにしてあんじゃね?IA64とかそうだべ。
- 190 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:01:20 ]
- 64bitのレジスタ32本あるのじゃまんぞくしねーのか?
- 191 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 19:38:15 ]
- 高速なキャッシュがたくさんあれば満足する
- 192 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:11:01 ]
- IA64とかって確かコンテキストが2500バイトくらいいくんだよなw
- 193 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 21:36:08 ]
- おれはレジスタの数よりも、1次キャッシュに乗ってるメモリとの
演算やアクセス速度が、レジスタと同程度であれば良いと思ってる。 結局それが最強でしょ?
- 194 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:04:14 ]
- 命令セットの問題じゃね
- 195 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:47:19 ]
- だよね。
RISC系の、メモリアクセスは基本的にロード/ストアのみで 演算はレジスタに対してしか出来ない、ってアーキテクチャだと キャッシュの速度だけじゃなく、レジスタの数も欲しいはず。
- 196 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:58:57 ]
- そんなことできたら苦労は無いわ。
メインメモリにレジスタと同程度でアクセスできれば最強だな。
- 197 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:43:09 ]
- >>196
補助記憶装置含めて光速の99%で処理できたらおk
- 198 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:46:35 ]
- 発想を逆にするんだ。
レジスタへのアクセスがメインメモリと同程度に遅(ry
- 199 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 13:37:41 ]
- じゃあ、みんながのんびりすればよくね?
- 200 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 18:07:14 ]
- 俺も思う。
CPUだけじゃなくて、日本人がもっとのんびりスベキナンダヨ
- 201 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:55:40 ]
- 1ヶ月くらい休みクレ!
- 202 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 23:27:18 ]
- >>>200
いや、今の状況はさー、 のんびりすべきだ、のんびりしよう、 とか言って急ブレーキ掛けてた頃からは、 実はもうだいぶ経っててさ、逆にのんびりしすぎてるんじゃ? って密かに周りが焦り始めてるんだけど、 具体的な問題が出てくるまでは、それにあえて気付かない フリをしていよう、ってところなんだよ。 ほんとうは、そろそろ歩きださないと。いそがないと! って時なんだよ? 一度怠けると元に戻れなくなるって言うけど、それ以前に 元がどうだったかなんて忘れてるもんだからさ、 フリじゃなくてほんとうに気付いてないのかもしれないね。 日本ヤバイよー。 おれは海外に移住する予定です。
- 203 名前:デフォルトの名無しさん [2007/10/21(日) 20:33:43 ]
- SolarisでpthreadでC++です。
C* c; int main() { c = new C; と、mainの先頭で生成したオブジェクトを、N個のスレッド(実際は8個固定)から使っています。 スレッドが順次終了してゆき、最後のN個目が終了した直後、あるいはN-1個目が終了した 後かつN個目が終了する直前にdelete c;をしたいのですが、うまい方法はあるでしょうか。 リファレンスカウントでしょうか。 N個のスレッドすべてをpthread_join()するような、親スレッドはいません。 なお、Cのメンバ関数はすべてスレッドセーフに作られています。 よろしくおねがいします。
- 204 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 20:36:29 ]
- >>203
リファレンスカウントで何か不満なの? boost::shared_ptr ですぐに実装できそうだし。
- 205 名前:203 [2007/10/21(日) 20:41:02 ]
- >>204
boostやSTLが使用禁止なので、一から手書きする場合の例をいただけたらと。。 テンプレートは使用可です。
- 206 名前:デフォルトの名無しさん [2007/10/21(日) 20:47:33 ]
- >>204
スレッドをまたいでshared_ptrを渡すのって例えばどうやるの?
- 207 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 21:24:12 ]
- > boostやSTLが使用禁止なので
ぬふぅ
- 208 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 21:24:57 ]
- >>203
代入系の演算子をoverrideしまくればそれっぽいの出来るけど、 用途をみてるとそれだけのためにshared_ptrを実装するのはもったいないな。
- 209 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 21:45:00 ]
- >>205
boost の実装見ればいいじゃん。
- 210 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 21:46:15 ]
- >>206
スレッドごとに shared_ptr のコピーを持てばいい。
|

|