マルチスレッドプログラミングについて語るスレ
■前スレ
マルチスレッドプログラミング相談室 その8
http://toro.2ch.net/test/read.cgi/tech/1253521167/
■過去スレ
その1 ttp://pc3.2ch.net/tech/kako/997/997345868.html
その2 ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/
その3 ttp://pc8.2ch.net/test/read.cgi/tech/1098268137/
その4 ttp://pc8.2ch.net/test/read.cgi/tech/1130984585/
その5 ttp://pc11.2ch.net/test/read.cgi/tech/1157814833/
その6 ttp://pc11.2ch.net/test/read.cgi/tech/1187008532/
その7 ttp://pc12.2ch.net/test/read.cgi/tech/1215253576/
OS・言語・環境は問わないが、それゆえ明記すべし。
テンプレ
【OS】
【言語】
【実行環境】
【その他特記する事項】
マルチスレッドプログラミング相談室 その9
2012/06/15(金) 01:31:57.88
286デフォルトの名無しさん
2014/03/13(木) 20:31:14.10ID:gEHR9Glb GPGPUは特定の局面に限って言えば使えるんだが、一般の用途では
その特定の局面が存在しないというかわいそうな技術。
その特定の局面が存在しないというかわいそうな技術。
287デフォルトの名無しさん
2014/03/13(木) 20:32:14.41ID:gEHR9Glb ちなみにbit coinのマイナーはGPGPUから専用設計のASICに
主戦場が移った。消費電力が段違いなんだとさ。
GPUでやったら電気代で赤字になりそうだ。
主戦場が移った。消費電力が段違いなんだとさ。
GPUでやったら電気代で赤字になりそうだ。
288デフォルトの名無しさん
2014/03/13(木) 20:49:30.32ID:/ZWTiswr289デフォルトの名無しさん
2014/03/13(木) 21:06:24.71ID:k4ocBl+v FPGA経由でASICな。
しかも最近じゃあ、専用マシン(アクセラレータ?)を手に入れても、掘るより転売するほうが儲かるとかw
しかも最近じゃあ、専用マシン(アクセラレータ?)を手に入れても、掘るより転売するほうが儲かるとかw
290デフォルトの名無しさん
2014/03/13(木) 22:02:39.26ID:gEHR9Glb で、自販機の下に落ちてる100円玉を地道に拾うぐらいなら
ショベルカーでATMごと盗んじゃえってのがマウントゴックス。
ショベルカーでATMごと盗んじゃえってのがマウントゴックス。
291デフォルトの名無しさん
2014/03/13(木) 22:18:30.00ID:hR60BOrR292デフォルトの名無しさん
2014/03/14(金) 16:35:28.14ID:8t3OXl/v 2年ほど前にbitcoin採掘をしていたが
お前らの想像の千倍くらい時間のかかる処理だったし
今もっと難しくなってるから既に個人で掘るのは無理なんじゃね
お前らの想像の千倍くらい時間のかかる処理だったし
今もっと難しくなってるから既に個人で掘るのは無理なんじゃね
293デフォルトの名無しさん
2014/03/14(金) 16:57:23.89ID:90E4Zs91 で、結局どのくらい掘れた?
294デフォルトの名無しさん
2014/03/14(金) 17:00:16.55ID:UFFJd6rH 千倍台で分散する
295デフォルトの名無しさん
2014/03/14(金) 17:37:55.81ID:p2oYKy+P >bitcoin採掘
どういうこと?
どういうこと?
296デフォルトの名無しさん
2014/03/14(金) 17:57:18.99ID:I0jjMatv >>295
むちゃくちゃ簡単に言うとBitCoinの正規のビットパターンは計算で求まる、でこれの正しい組み合わせを計算する事を採掘(マイニング)って言うだけの話
むちゃくちゃ簡単に言うとBitCoinの正規のビットパターンは計算で求まる、でこれの正しい組み合わせを計算する事を採掘(マイニング)って言うだけの話
297デフォルトの名無しさん
2014/03/14(金) 17:59:12.49ID:Sx19eOr2 >>296
ありがとん
ありがとん
298デフォルトの名無しさん
2014/03/15(土) 00:32:35.88ID:IYjSi/+A ちょいと相談。
データ処理とファイルI/Oを別スレッドに分けてstackを介してやり取りしてるんだけど、
気がつくとやたらメモリを食ってることがある。
調子のいいときは数MBしか食わないのに、最悪は2GB食って落ちることもある。
ファイルの生成の様子なんかを観察してる限りで、2つの原因を想像。
A)処理済みデータをstackに積むのに比べてファイルに書き出す処理が追いついていない
B)stackがバカスカとメモリを確保している
ファイル書き出しのスレッドの内部処理は、共用stackからローカルstackにコピーして、
コピーが終わった時点で共用stack占有状態を開放、ローカルstackを順次書き出すようにしている。
Aは大量にデータを溜めることの無いようにファイル書き出しの頻度を上げる方法について、
Bはメモリを無駄に食わない方法について、アドバイスを聞きたい。
stackを使ったのはqueueに比べて頭が固定な分だけメモリの利用効率が高そうだったことと、
データの順番には意味がないから逆順になっても問題がないことによるものなので、
別のコンテナを使ったほうがいいなら、それでも構わない。
データ処理とファイルI/Oを別スレッドに分けてstackを介してやり取りしてるんだけど、
気がつくとやたらメモリを食ってることがある。
調子のいいときは数MBしか食わないのに、最悪は2GB食って落ちることもある。
ファイルの生成の様子なんかを観察してる限りで、2つの原因を想像。
A)処理済みデータをstackに積むのに比べてファイルに書き出す処理が追いついていない
B)stackがバカスカとメモリを確保している
ファイル書き出しのスレッドの内部処理は、共用stackからローカルstackにコピーして、
コピーが終わった時点で共用stack占有状態を開放、ローカルstackを順次書き出すようにしている。
Aは大量にデータを溜めることの無いようにファイル書き出しの頻度を上げる方法について、
Bはメモリを無駄に食わない方法について、アドバイスを聞きたい。
stackを使ったのはqueueに比べて頭が固定な分だけメモリの利用効率が高そうだったことと、
データの順番には意味がないから逆順になっても問題がないことによるものなので、
別のコンテナを使ったほうがいいなら、それでも構わない。
299デフォルトの名無しさん
2014/03/15(土) 00:45:28.81ID:CF1cuZUb >>298
そもそも一旦メモリに載せる必要があるのか?非同期IOじゃだめ?
どうしても載せなきゃいけないとして、Aはあまり意味がない。
よほど頭の悪い実装をしてなければ、現状メモリを喰ってるってことは
inputよりoutputの方が遅いってことだ。頻度で解決する問題じゃない。
Bの方は、conditon variableでスタックのサイズが一定より大きくなったら
inputを待たす方法が一番簡単じゃないか。
そもそも一旦メモリに載せる必要があるのか?非同期IOじゃだめ?
どうしても載せなきゃいけないとして、Aはあまり意味がない。
よほど頭の悪い実装をしてなければ、現状メモリを喰ってるってことは
inputよりoutputの方が遅いってことだ。頻度で解決する問題じゃない。
Bの方は、conditon variableでスタックのサイズが一定より大きくなったら
inputを待たす方法が一番簡単じゃないか。
>調子のいいときは数MBしか食わないのに、最悪は2GB食って落ちることもある。
常識的に考えてバグ持ち。
>コピーが終わった時点で共用stack占有状態を開放、
ふつーstack<void *>。
常識的に考えてバグ持ち。
>コピーが終わった時点で共用stack占有状態を開放、
ふつーstack<void *>。
301デフォルトの名無しさん
2014/03/15(土) 08:03:00.01ID:B9xccETs バッファに制限を設けて
書き込みが詰ったら待てばいいだけでは
書き込みが詰ったら待てばいいだけでは
302デフォルトの名無しさん
2014/03/15(土) 08:17:50.21ID:kVDIpCQy リングバッファ、そして新しいバグ
303デフォルトの名無しさん
2014/03/15(土) 08:31:05.02ID:xmGMuN0W リングバッファてメモリが一杯になったらファイルに書き出すように実装するのが普通?
304デフォルトの名無しさん
2014/03/15(土) 12:26:30.58ID:GnRScPte 普通じゃない
305デフォルトの名無しさん
2014/03/15(土) 13:36:30.86ID:royCDzaU どうすんの?あふれたら捨てるの?
306デフォルトの名無しさん
2014/03/15(土) 13:43:41.30ID:E7qCmrfx 環境によっては勝手にswapしてくれるかもしれない
307デフォルトの名無しさん
2014/03/15(土) 14:07:58.75ID:PqTylRc6308デフォルトの名無しさん
2014/03/15(土) 14:16:36.02ID:1lWAVkUO 書き出すデータのフォーマットを工夫してサイズを小さくするとか、
書き込み先をSSDにしたりとか、動作環境のスペックを見直すという手も。
書き込み先をSSDにしたりとか、動作環境のスペックを見直すという手も。
309デフォルトの名無しさん
2014/03/15(土) 14:17:30.95ID:y0lYdZ+H310デフォルトの名無しさん
2014/03/15(土) 16:35:55.25ID:x1nRJa7F いるんだよなー、そもそも不可能なことを引き受けちゃう奴って
311デフォルトの名無しさん
2014/03/15(土) 20:31:13.52ID:9prhxYaH てへ、昔の話がねた
312デフォルトの名無しさん
2014/03/15(土) 22:04:58.47ID:B9xccETs 金あるならFusion-ioを使えばいい
圧縮で減るようなデータならsnappyで圧縮する
圧縮で減るようなデータならsnappyで圧縮する
313デフォルトの名無しさん
2014/03/15(土) 23:24:57.03ID:Jbm5xDHA 普通のリアルタイムではありえん
314313
2014/03/15(土) 23:26:35.57ID:Jbm5xDHA 訂正 以上です
315デフォルトの名無しさん
2014/03/16(日) 01:00:35.01ID:67pIoXcC リアルタイムシステムというのがRTOSを使っているという意味なら
送信側か他のタスクがwait入れてなくて書き込みタスクが動いていないとかってバグじゃないかな
>>313
時代は変わりCPUを使って圧縮したほうがIOが減って低レイテンシにできる
送信側か他のタスクがwait入れてなくて書き込みタスクが動いていないとかってバグじゃないかな
>>313
時代は変わりCPUを使って圧縮したほうがIOが減って低レイテンシにできる
316デフォルトの名無しさん
2014/03/16(日) 01:13:20.61ID:CvhR8B+T リアルタイムっていうのは入力があってから何ms以内に応答を
返せなければならないみたいなシステムのことでしょ。
コンピュータ制御の工作機械で応答が遅くて削りすぎましたとか
許されないから。
返せなければならないみたいなシステムのことでしょ。
コンピュータ制御の工作機械で応答が遅くて削りすぎましたとか
許されないから。
317デフォルトの名無しさん
2014/03/16(日) 01:14:58.23ID:Va0mC41/ >261だけど、概ね期待通りの動作になってきた
速度面でも、現在使用中のPCでシングルスレッドだと70時間ほど掛かってたから、
マルチスレッド化で6コアに分散して細部の調整込みで10時間切れれば恩の字と思ってたのに、なんと4時間半を切れたw
最新のCPUを使えば2時間も夢じゃないかも
あとは演算処理orデータのやり取りのバグを潰せばほぼ完成
(結果の個数が少し足りない)
速度面でも、現在使用中のPCでシングルスレッドだと70時間ほど掛かってたから、
マルチスレッド化で6コアに分散して細部の調整込みで10時間切れれば恩の字と思ってたのに、なんと4時間半を切れたw
最新のCPUを使えば2時間も夢じゃないかも
あとは演算処理orデータのやり取りのバグを潰せばほぼ完成
(結果の個数が少し足りない)
318デフォルトの名無しさん
2014/03/17(月) 12:29:47.16ID:iella/tJ シングルスレッドのまま細部の調整とやらだけでどこまで行くのやら
319デフォルトの名無しさん
2014/03/17(月) 15:11:57.25ID:ot8TfsyN どんだけ時間がかかってるのやら。
320デフォルトの名無しさん
2014/06/13(金) 00:28:43.87ID:cRyKxN+T 共有/排他ができるロックと条件変数があるとき、これらを使って
共有から排他にエスカレーションできるロックを構成することってできる?
共有から排他にエスカレーションできるロックを構成することってできる?
321デフォルトの名無しさん
2014/06/13(金) 01:34:28.10ID:+YSiec3A ロックとか条件変数って排他するものだよね。共有できるロックって何?
RCUのこと?
RCUのこと?
322デフォルトの名無しさん
2014/06/13(金) 08:49:59.19ID:cRyKxN+T ええと、いわゆるread-writeロックのこと。
323デフォルトの名無しさん
2014/11/06(木) 22:37:47.07ID:iaZsweTc マルチスレッドは馬鹿には無理
馬鹿は使ったほうがいいところでマルチスレッドを使わずに
使わないほうがいいところっ使ってややこしくしたりする
馬鹿は使ったほうがいいところでマルチスレッドを使わずに
使わないほうがいいところっ使ってややこしくしたりする
324デフォルトの名無しさん
2014/11/06(木) 23:24:42.11ID:ETjlkHcn 負荷分散とか難易度高なのにね
325デフォルトの名無しさん
2014/11/09(日) 01:27:34.76ID:UGYkYxzf スレッディング・ビルディング・ブロックについて勉強し始めた所なんだけど、どうなの?
理解して使うと安全で早くなりそうだとは思ったが、メモリ処理の効率とかどうなるんかな?
とか思ってる所なんだけど・・・
理解して使うと安全で早くなりそうだとは思ったが、メモリ処理の効率とかどうなるんかな?
とか思ってる所なんだけど・・・
326デフォルトの名無しさん
2014/11/09(日) 07:37:34.59ID:SGm17f1c 安全にするには、ある程度やった人しか...
327デフォルトの名無しさん
2014/11/09(日) 22:48:01.80ID:wyNvyEnQ メモリ処理の効率って具体的にどういう点?
mallocとかのメモリ管理の効率?それともキャッシュヒット率のような意味?
mallocとかのメモリ管理の効率?それともキャッシュヒット率のような意味?
328デフォルトの名無しさん
2014/11/10(月) 09:36:09.81ID:W8sKwQAR オライリーのTBBの本買ったけど途中まで読んで放置してたw
ラムダ式を使えばoperator()使わなくていいなら改めて勉強しなおそうかな
>>325
コンカレントコンテナとかは並列にメモリ割り当てしたり、キャッシュラインの競合を考慮した
アロケータを持ってるみたいだから、自前でやるのと変わらないぐらいにはなってるんじゃない?
TBBの本も中古ならかなり安いから買ってみるといいよ
ラムダ式を使えばoperator()使わなくていいなら改めて勉強しなおそうかな
>>325
コンカレントコンテナとかは並列にメモリ割り当てしたり、キャッシュラインの競合を考慮した
アロケータを持ってるみたいだから、自前でやるのと変わらないぐらいにはなってるんじゃない?
TBBの本も中古ならかなり安いから買ってみるといいよ
329デフォルトの名無しさん
2014/11/12(水) 14:11:39.04ID:nS55KI9v 基礎的な質問で申し訳ないのですが
同じ変数に複数のスレッドがアクセスしてはいけないのはわかりますが
同じコードに複数のスレッドがアクセスするのはいいのでしょうか?
例えば何の変数にもアクセスしない関数を複数のスレッドが同時実行するのはいいのでしょうか?
同じ変数に複数のスレッドがアクセスしてはいけないのはわかりますが
同じコードに複数のスレッドがアクセスするのはいいのでしょうか?
例えば何の変数にもアクセスしない関数を複数のスレッドが同時実行するのはいいのでしょうか?
330デフォルトの名無しさん
2014/11/12(水) 14:21:32.89ID:Tjo57cUc ダメな理由でも探してるの?
331デフォルトの名無しさん
2014/11/12(水) 14:31:27.32ID:nS55KI9v >>330
今書いているプログラムで
C#の関数の中でシグナルを使っているのですが
他のスレッドからその関数を呼ぼうとするとエラーが起こるのです・・・
もしかしたら関数自体にシグナルをかけなければいけないのかなぁと思って
今書いているプログラムで
C#の関数の中でシグナルを使っているのですが
他のスレッドからその関数を呼ぼうとするとエラーが起こるのです・・・
もしかしたら関数自体にシグナルをかけなければいけないのかなぁと思って
332デフォルトの名無しさん
2014/11/12(水) 14:35:31.55ID:Tjo57cUc C#のシグナルってよーしらんけど
エラーが出るってことは、質問の内容と違うことやってるんじゃないの
エラーが出るってことは、質問の内容と違うことやってるんじゃないの
333デフォルトの名無しさん
2014/11/12(水) 15:18:29.39ID:ghkKScBM 同期オブジェクトを保持している変数を上書きしていそうな気がするんだが
334デフォルトの名無しさん
2014/11/12(水) 16:32:42.96ID:yNtQ/r84 いろいろ分かってないだけだろう
335デフォルトの名無しさん
2014/11/13(木) 06:29:27.90ID:w/Cn+ODk ライブラリがマルチスレッドに対応してないだけかと
336デフォルトの名無しさん
2014/11/13(木) 06:35:25.00ID:4ACzZkWI /MT
337デフォルトの名無しさん
2014/11/13(木) 13:44:55.73ID:t6y7WFqt C#ならエラーメッセージやスタックトレースが出てるだろ
338デフォルトの名無しさん
2014/11/15(土) 11:02:51.29ID:JwZZHuNb >>329
同じ関数は実行するのは、スレッドが違えばコンテキストスイッチが起きて、レジスタとかスタックが入れ替わるから大丈夫
メンバ変数とstatic変数さえ使わなければ何個起動しても排他も何も考えなくてよいぞ
同じ関数は実行するのは、スレッドが違えばコンテキストスイッチが起きて、レジスタとかスタックが入れ替わるから大丈夫
メンバ変数とstatic変数さえ使わなければ何個起動しても排他も何も考えなくてよいぞ
339デフォルトの名無しさん
2014/11/16(日) 00:17:15.94ID:lWtIBSfv 同じ変数に複数のスレッドがアクセスするならクリティカルセクションが楽だ
340デフォルトの名無しさん
2014/11/16(日) 19:55:00.63ID:9ZsvKJox linuxですがスレッドで同じファイルに書き込む場合、競合することってありますかね?
341デフォルトの名無しさん
2014/11/16(日) 20:11:07.08ID:1qsvk//V 勿論。
342デフォルトの名無しさん
2014/11/16(日) 21:20:39.95ID:4XTrCB2a 論外
343デフォルトの名無しさん
2014/11/16(日) 21:40:57.77ID:Kyr5+wjo >>339
もう win32 のクリティカルセクションとイベントオブジェクトでおなかいっぱい、というかこれだけでたいがいうまくいくのでは?
もう win32 のクリティカルセクションとイベントオブジェクトでおなかいっぱい、というかこれだけでたいがいうまくいくのでは?
344デフォルトの名無しさん
2014/11/30(日) 17:47:06.48ID:H8djdLBQ 複数のスレッドがひとつのミューテックスのアンロックを待っていた場合、
つぎにどのスレッドがミューテックスを取得するかはランダムですか
つぎにどのスレッドがミューテックスを取得するかはランダムですか
345デフォルトの名無しさん
2014/11/30(日) 18:09:41.22ID:ddtepLmv はい
待っていなかった別のスレッドがちょうどいいところに来てミューテックスを取得していくこともあります
待っていなかった別のスレッドがちょうどいいところに来てミューテックスを取得していくこともあります
346デフォルトの名無しさん
2014/12/01(月) 00:39:51.39ID:Az7+Eliy いいえ
待っていなかった別のスレッドがちょうどいいところに来てミューテックスを取得していくこともあります
待っていなかった別のスレッドがちょうどいいところに来てミューテックスを取得していくこともあります
347デフォルトの名無しさん
2014/12/08(月) 19:13:20.61ID:PHJZbN+V スレッドとミューテックスだけ覚えたけど
なにを作ったらいいのかわからんたい
なにを作ったらいいのかわからんたい
348デフォルトの名無しさん
2014/12/08(月) 22:37:39.16ID:PHJZbN+V チャット作ることにしました
349デフォルトの名無しさん
2014/12/08(月) 22:57:10.96ID:x3KHTevM consumerとproducerみたいのがいいんじゃないのかなと思ったけど、
チャット作ることにしたのね
がんばってください
チャット作ることにしたのね
がんばってください
350デフォルトの名無しさん
2014/12/08(月) 23:08:56.71ID:PHJZbN+V352デフォルトの名無しさん
2015/05/29(金) 22:45:34.32ID:gXnjRwZ6 Win8.1 Cygwin64bit g++のpthreadなんですが、マルチコアCPUなのに性能改善しません。
なにか特別なコンパイルオプションがあるとか
特別なライブラリをリンクしなければいけないとかあるのでしょうか。
-lpthreadはつけてます。
なにか特別なコンパイルオプションがあるとか
特別なライブラリをリンクしなければいけないとかあるのでしょうか。
-lpthreadはつけてます。
353デフォルトの名無しさん
2015/05/30(土) 20:09:50.25ID:WwgHsNSJ エスパー能力はありません
354デフォルトの名無しさん
2015/05/30(土) 20:21:35.33ID:h4Yx63EK そこをなんとかスーパーエスパーでお願いします
355デフォルトの名無しさん
2015/05/30(土) 21:18:52.04ID:iD4l02SZ 誠意を見せてください
356デフォルトの名無しさん
2015/06/15(月) 23:17:16.10ID:SZnUF3Ky DISKへのアクセスって並列にしたって意味ないですか?
・・・
FileA読み込み(::ReadFile) 10秒
FileB読み込み(::ReadFile) 20秒
・・・
で30秒以上掛かりますが、
之をスレッドを起こしても意味無い?
・・・
FileA読み込み(::ReadFile) 10秒
FileB読み込み(::ReadFile) 20秒
・・・
で30秒以上掛かりますが、
之をスレッドを起こしても意味無い?
357デフォルトの名無しさん
2015/06/16(火) 00:49:42.46ID:s9cfeU7N よくわかってないけどDISKの特性によるのかなぁとかいってみる。
358デフォルトの名無しさん
2015/06/16(火) 01:06:01.70ID:ILaOeTTR どういった特性ならどうなるのですか?
359デフォルトの名無しさん
2015/06/16(火) 01:31:46.58ID:ZNZkvIJW 読み込みながら処理をしてみたいにな状態でない限りスレッド分けてファイル読むと遅くなるよ(デバイスが別であればまた違うのだが)
純粋にバイナリデータとしてファイルをメモリに丸ごと読み込むのであればスレッド分ける意味ない(CPUとメモリの方がディスクよりも遙かに速い)
純粋にバイナリデータとしてファイルをメモリに丸ごと読み込むのであればスレッド分ける意味ない(CPUとメモリの方がディスクよりも遙かに速い)
360デフォルトの名無しさん
2015/06/16(火) 01:39:58.55ID:ILaOeTTR 遅くなる理由はなんですか?
361デフォルトの名無しさん
2015/06/16(火) 09:26:39.31ID:gU9w5dQ4 俺様の質問に答えろとさ
362デフォルトの名無しさん
2015/06/16(火) 22:30:15.77ID:45Me4wJl まともに答えるとまた暴れだすだろ
363デフォルトの名無しさん
2015/06/20(土) 17:07:37.08ID:2GjEDXn2 >>360
FileAとFileBが同一のディスクに存在するとして、FileAがFileBが以下の
内容である場合、論理的に近いデータ(青森県と岩手県)は論理的に遠いデータ
(宮城県と長崎県)よりも物理的にディスクの近い位置に存在する可能性が
高いので、02→03→…→07→40→41→…→46という順番で読み込むほうが
02→40→03→41→…07→46という順番で読み込むよりも速く完了する可能性が
あります。
[FileA]
02青森県
03岩手県
04宮城県
05秋田県
06山形県
07福島県
[FileB]
40福岡県
41佐賀県
42長崎県
43熊本県
44大分県
45宮崎県
46鹿児島県
FileAとFileBが同一のディスクに存在するとして、FileAがFileBが以下の
内容である場合、論理的に近いデータ(青森県と岩手県)は論理的に遠いデータ
(宮城県と長崎県)よりも物理的にディスクの近い位置に存在する可能性が
高いので、02→03→…→07→40→41→…→46という順番で読み込むほうが
02→40→03→41→…07→46という順番で読み込むよりも速く完了する可能性が
あります。
[FileA]
02青森県
03岩手県
04宮城県
05秋田県
06山形県
07福島県
[FileB]
40福岡県
41佐賀県
42長崎県
43熊本県
44大分県
45宮崎県
46鹿児島県
364デフォルトの名無しさん
2015/08/25(火) 15:16:47.83ID:f9VpmzI5 いまどきのディスクはインターリーブなんか考慮しても意味無いぞ
365デフォルトの名無しさん
2015/08/25(火) 23:23:52.89ID:SuXh7n4E >>364
インターリーブってCPUが遅い時代の話だろ?
セクタリードの後でCPUが処理している間に次に読むべきディスク上の物理セクタが通り過ぎてしまうからシーケンシャルなセクタ処理でなくインターリーブした順序付けのセクタ使うって奴
インターリーブってCPUが遅い時代の話だろ?
セクタリードの後でCPUが処理している間に次に読むべきディスク上の物理セクタが通り過ぎてしまうからシーケンシャルなセクタ処理でなくインターリーブした順序付けのセクタ使うって奴
366デフォルトの名無しさん
2015/10/10(土) 23:10:25.42ID:bMLX+QzX 趣味プログラムでInterlockedCompareExchange
で値が交換できた時だけそのスレッドが処理を進められるような感じで
作りこんでいるんだけど、何かこれだと問題ある?
一般的にはクリティカルセクションを使った方がいい的な話を聞くんだけど
sizeof(CRITICAL_SECTION)がチョット大きすぎるので使うのをためらってしまう
で値が交換できた時だけそのスレッドが処理を進められるような感じで
作りこんでいるんだけど、何かこれだと問題ある?
一般的にはクリティカルセクションを使った方がいい的な話を聞くんだけど
sizeof(CRITICAL_SECTION)がチョット大きすぎるので使うのをためらってしまう
367デフォルトの名無しさん
2015/10/11(日) 01:12:22.19ID:DeMvW0Ba368デフォルトの名無しさん
2015/10/11(日) 01:16:20.15ID:DeMvW0Ba369デフォルトの名無しさん
2015/10/11(日) 10:38:15.80ID:P9PvwsgL マ
370デフォルトの名無しさん
2016/02/06(土) 07:43:27.68ID:DtUiRvEm int iで++iにミューテックスが必要ってことはiを同時に2つのスレッドが足しても2増えるだけで必要ないと思うんですけど?1しか増えないってこともあるんですか?
371デフォルトの名無しさん
2016/02/06(土) 08:26:40.76ID:DtUiRvEm CPUによってアトムが違うから必要ってことですねわかりました。
372デフォルトの名無しさん
2016/02/06(土) 08:57:53.38ID:AVvIsuem 御茶ノ水の博士の設計
373デフォルトの名無しさん
2016/03/07(月) 00:30:59.08ID:jKz+oF2h374デフォルトの名無しさん
2016/03/08(火) 01:40:29.32ID:YkHc2UTm レース状態のことやね
375デフォルトの名無しさん
2016/03/20(日) 12:54:59.05ID:upopZnIF 同じcondition_variableでブロックしているスレッドが複数ある場合に、
notify_oneをしたら、どのスレッドが起床するのだろうか。
notify_oneをしたら、どのスレッドが起床するのだろうか。
376デフォルトの名無しさん
2016/03/29(火) 08:51:54.17ID:/c8bAcK4 サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
377デフォルトの名無しさん
2016/05/20(金) 22:39:11.46ID:/6R1fTEV >>375
リファレンス読め
リファレンス読め
378デフォルトの名無しさん
2016/05/23(月) 02:01:11.63ID:xOdUGJqd CAS命令でロックしている部分を
_xbegin _xend やら xxx_HLEAcquireで代用すればCAS命令分のWaitをチャラにできるかと思ったんだけど
結果微妙に遅くなっただけだった
使い方間違っているのかなTSX
_xbegin _xend やら xxx_HLEAcquireで代用すればCAS命令分のWaitをチャラにできるかと思ったんだけど
結果微妙に遅くなっただけだった
使い方間違っているのかなTSX
379デフォルトの名無しさん
2016/12/09(金) 07:26:48.14ID:WzSsU1Dc マルチスレッドにおける変数の排他処理についてなんだけど、
排他制御していない状態で複数のスレッドが同じ変数に同時にアクセスすることそのものは問題ないよね?
読み取り最中に書き換えたり、書き換え最中に読み取った場合にデータが破壊されるというだけの話だよね?
例えば2byteの変数があって、スレッドAが1byte目を読み込んだ時点でスレッドBが2byte目を書き換え、
そこでスレッドAが2byte目を読み取った場合に、
データが上位1byteと下位1byteで別のデータを読み取ったことになっておかしくなるってことだよね?
ということは何らかのフラグで下位1bitのみを利用するような変数であれば、
上記のような状況は起きないから排他処理しなくても大丈夫って認識でOK?
排他制御していない状態で複数のスレッドが同じ変数に同時にアクセスすることそのものは問題ないよね?
読み取り最中に書き換えたり、書き換え最中に読み取った場合にデータが破壊されるというだけの話だよね?
例えば2byteの変数があって、スレッドAが1byte目を読み込んだ時点でスレッドBが2byte目を書き換え、
そこでスレッドAが2byte目を読み取った場合に、
データが上位1byteと下位1byteで別のデータを読み取ったことになっておかしくなるってことだよね?
ということは何らかのフラグで下位1bitのみを利用するような変数であれば、
上記のような状況は起きないから排他処理しなくても大丈夫って認識でOK?
380デフォルトの名無しさん
2016/12/09(金) 09:38:28.68ID:uxrmDz9Z 馬鹿乙
381デフォルトの名無しさん
2016/12/09(金) 13:52:04.09ID:GFY666CI >>379
>>マルチスレッドにおける変数の排他処理についてなんだけど、
>>排他制御していない状態で複数のスレッドが同じ変数に同時にアクセスすることそのものは問題ないよね?
変数というだけでは分からない。
構造体とかC++の変数とかはそちらから見ても明らかに問題のはず。
>>ということは何らかのフラグで下位1bitのみを利用するような変数であれば、
>>上記のような状況は起きないから排他処理しなくても大丈夫って認識でOK?
1bit(あるいは1バイト、1ワード)がアトミックにアクセスできる
ことはシステムによって保証されていることが多い。
だから、その1bitの読み書きは出来る。
しかし大丈夫とか問題ないかということは、何を問題とするかを
書かないと答えようがない。
1bitはこれ以上分割できないので1ビットの半分だけ違う値になる、
ということはありえない。そういう心配をしてるなら大丈夫
>>マルチスレッドにおける変数の排他処理についてなんだけど、
>>排他制御していない状態で複数のスレッドが同じ変数に同時にアクセスすることそのものは問題ないよね?
変数というだけでは分からない。
構造体とかC++の変数とかはそちらから見ても明らかに問題のはず。
>>ということは何らかのフラグで下位1bitのみを利用するような変数であれば、
>>上記のような状況は起きないから排他処理しなくても大丈夫って認識でOK?
1bit(あるいは1バイト、1ワード)がアトミックにアクセスできる
ことはシステムによって保証されていることが多い。
だから、その1bitの読み書きは出来る。
しかし大丈夫とか問題ないかということは、何を問題とするかを
書かないと答えようがない。
1bitはこれ以上分割できないので1ビットの半分だけ違う値になる、
ということはありえない。そういう心配をしてるなら大丈夫
382デフォルトの名無しさん
2016/12/09(金) 16:50:23.32ID:WzSsU1Dc ありがとう!
大丈夫かどうかというのは、
排他制御が行われていない変数へのアクセスそのものが原因となってソフトウェアがクラッシュしたり、
OSやハードウェアレベルの問題は起きたりしないよね?って意味
C言語で下位1bitしか使わない排他処理が行われてない変数があり、その1bitをif文で判定して処理を2通りに分ける場合、
必ずその2通りのどちらかになることは保証されるよね?
できるだけ高速化したいから、できるだけ排他処理はしたくない。
大丈夫かどうかというのは、
排他制御が行われていない変数へのアクセスそのものが原因となってソフトウェアがクラッシュしたり、
OSやハードウェアレベルの問題は起きたりしないよね?って意味
C言語で下位1bitしか使わない排他処理が行われてない変数があり、その1bitをif文で判定して処理を2通りに分ける場合、
必ずその2通りのどちらかになることは保証されるよね?
できるだけ高速化したいから、できるだけ排他処理はしたくない。
383デフォルトの名無しさん
2016/12/09(金) 18:10:37.82ID:uxrmDz9Z やっぱりアホか
384デフォルトの名無しさん
2016/12/09(金) 18:37:52.31ID:R3c5DqP6385デフォルトの名無しさん
2016/12/09(金) 21:27:34.75ID:WzSsU1Dcレスを投稿する
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★3 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★4 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 【ネトウヨ朗報】イギリスのトラス元首相、高市有事で高市早苗の支持を表明 [603416639]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 立憲岡田「高市さんはなぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [834922174]
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然 ★950 [931948549]
