前スレ
C++相談室 part156
https://mevius.5ch.net/test/read.cgi/tech/1621389313/
探検
C++相談室 part157
■ このスレッドは過去ログ倉庫に格納されています
2021/08/09(月) 10:57:31.60ID:JaaB5Egp
2デフォルトの名無しさん
2021/08/09(月) 11:24:40.26ID:M3I2CbwW2021/08/09(月) 11:43:30.76ID:GC6B710d
>スレッドが実行中か確認したいってどんなときなのかな?
たとえばゲームでセーブするとき、
メインの処理はブロックしたくないので別スレッドで実行しつつ「セーブ中です」みたいな表示を出し、終了したら消す
みたいな時かな
たとえばゲームでセーブするとき、
メインの処理はブロックしたくないので別スレッドで実行しつつ「セーブ中です」みたいな表示を出し、終了したら消す
みたいな時かな
2021/08/09(月) 11:48:24.98ID:OWI9S7jW
2021/08/09(月) 11:56:53.44ID:GC6B710d
>>4
もちろん方法ならいくらでもあると思うけど、別スレッドのインスタンス1つで全部済むなら、そっちの方がすっきりするし楽でしょ
もちろん方法ならいくらでもあると思うけど、別スレッドのインスタンス1つで全部済むなら、そっちの方がすっきりするし楽でしょ
2021/08/09(月) 12:12:57.14ID:GC6B710d
>>4,5
あぁ、いやそうじゃないか
ゲームのあらゆる部分をスレッドセーフで設計すれば良いのかもしれないけど、
ゲームのメインの状態遷移なんてわざわざマルチスレッド化するような重い処理でもないので、
その辺の表示とかはシングルスレッド前提で書いてるわけよ、もちろんそのほうが楽だからw
あぁ、いやそうじゃないか
ゲームのあらゆる部分をスレッドセーフで設計すれば良いのかもしれないけど、
ゲームのメインの状態遷移なんてわざわざマルチスレッド化するような重い処理でもないので、
その辺の表示とかはシングルスレッド前提で書いてるわけよ、もちろんそのほうが楽だからw
2021/08/09(月) 12:17:21.54ID:qYrd5+ip
この「実行中」が実際にタイムスライスが割り当てられている状態を意味しているんであれば
OSにもよるが実装が大変な割に実際に役立つシーンは限られるような。
>>4であればjoinableで十分だろうし。
OSにもよるが実装が大変な割に実際に役立つシーンは限られるような。
>>4であればjoinableで十分だろうし。
2021/08/09(月) 12:25:08.93ID:DVzh2mox
別スレッド処理の進捗を他スレッドから閲覧するためのパラメータを使っってる時点で、お察し
2021/08/09(月) 12:40:21.77ID:S8n0VVLE
前スレ997は色々勘違いしてそうな気がする
普通pushしようとしてキューが満杯なら何らかの同期メカニズムで自分を待ち状態にする
pop側はpopしたらその同期メカニズムに対して待ちを解除するだけだからスレッド自体が実行中かどうかなんて見る必要がない
普通pushしようとしてキューが満杯なら何らかの同期メカニズムで自分を待ち状態にする
pop側はpopしたらその同期メカニズムに対して待ちを解除するだけだからスレッド自体が実行中かどうかなんて見る必要がない
2021/08/09(月) 13:35:16.98ID:eF2Q2UUf
std::condition_variable
11ハノン ◆QZaw55cn4c
2021/08/09(月) 13:52:46.20 正直いって pthread の条件変数は私には理解が難しく、私は安易に win32api のクリティカルセッション&シグナルを多用してしまうのです
ただし、スタベーションに陥ることが多々あり、どうもクリティカルセクション・シグナルでは駄目なパターンがあるかもしれない、とヒヤヒヤしています‥‥
ただし、スタベーションに陥ることが多々あり、どうもクリティカルセクション・シグナルでは駄目なパターンがあるかもしれない、とヒヤヒヤしています‥‥
2021/08/09(月) 14:01:28.39ID:TRAo/ccI
>>2
別に
Producer(pushする側)がこれからpushするのを待っている場合、
Consumer(popする側)はキューサイズ(キューの中の要素数)を見ても
Producerが待っているのかどうかの情報を得られない
なぜなら、まだpushしていないからな
別に
Producer(pushする側)がこれからpushするのを待っている場合、
Consumer(popする側)はキューサイズ(キューの中の要素数)を見ても
Producerが待っているのかどうかの情報を得られない
なぜなら、まだpushしていないからな
2021/08/09(月) 14:14:45.62ID:TRAo/ccI
2021/08/09(月) 14:32:36.91ID:JaaB5Egp
2021/08/09(月) 14:33:19.09ID:S8n0VVLE
>>13
いや、スレッドの実行状態なんて見てもしゃーないって話
pop後にpush側が実行中だとしてもそのチェック直後にpushするかも知れん
要するにスレッドの実行状態の変化は排他制御できないから意味がないって話
pop前にいちいちスレッドをsuspendしてチェックしてからresumeするとかするならできるかもしれないけどw
いや、スレッドの実行状態なんて見てもしゃーないって話
pop後にpush側が実行中だとしてもそのチェック直後にpushするかも知れん
要するにスレッドの実行状態の変化は排他制御できないから意味がないって話
pop前にいちいちスレッドをsuspendしてチェックしてからresumeするとかするならできるかもしれないけどw
2021/08/09(月) 14:34:07.65ID:aCXIbwxy
std::vectorの部分ベクトルの切り出しって絶対O(要素数)の計算量かかりますよね?
2021/08/09(月) 14:40:14.51ID:fi8SjIox
「部分ベクトルの切り出し」とは何かを定義せよ。
2021/08/09(月) 14:47:54.30ID:eF2Q2UUf
こういうの?
std::vector<int> a{ 4, 6, 4, 9 };
std::vector<int> b(a.begin() + 1, a.begin() + 2);
std::vector<int> a{ 4, 6, 4, 9 };
std::vector<int> b(a.begin() + 1, a.begin() + 2);
2021/08/09(月) 15:11:52.58ID:KzU8BZnC
参照できればいいのか、コピーがいるのか、切り出し位置はわかってるのか、検索を伴うのか、
その辺の条件もなしに計算量の議論なんて出来んわ
その辺の条件もなしに計算量の議論なんて出来んわ
2021/08/09(月) 16:11:11.49ID:6v1cUfUr
クラスAの内部にクラスBがある (入れ子クラス) として、BからAのメンバにアクセスするテクってないんですかね?
アクセスしたいメンバをstaticにはしたくないです
アクセスしたいメンバをstaticにはしたくないです
2021/08/09(月) 16:20:25.36ID:GC6B710d
>>20
AへのポインタをBに定義して、コンストラクタかなんかで渡せばいいのでは?
AへのポインタをBに定義して、コンストラクタかなんかで渡せばいいのでは?
22はちみつ餃子 ◆8X2XSCHEME
2021/08/09(月) 16:48:43.56ID:OWI9S7jW >>20
クラスの中でクラスを定義しても A の名前空間の中に B が定義されるってだけ。
B のオブジェクトを作っても A のオブジェクトが存在しないなら存在しないオブジェクトのメンバにはアクセスできない。
A のオブジェクト (インスタンス) と B のオブジェクトの間には勝手に関係が出来たりもしない。
関係ないのに関係あるように見えて初心者が混乱してるのはどっかの質問サイトでも見たことがある。
よく理解できてないならまずはクラスの定義を入れ子にせずにやってみるのがオススメ。
クラスの中でクラスを定義しても A の名前空間の中に B が定義されるってだけ。
B のオブジェクトを作っても A のオブジェクトが存在しないなら存在しないオブジェクトのメンバにはアクセスできない。
A のオブジェクト (インスタンス) と B のオブジェクトの間には勝手に関係が出来たりもしない。
関係ないのに関係あるように見えて初心者が混乱してるのはどっかの質問サイトでも見たことがある。
よく理解できてないならまずはクラスの定義を入れ子にせずにやってみるのがオススメ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 台湾有事での集団的自衛権行使に賛成48%、「反対」が44.2% ★2 [♪♪♪★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★13 [BFU★]
- 【サッカー】「国立ガラガラじゃん!」 「タダ券ばら撒かないんだっけ?」天皇杯決勝、6万7750人収容のスタンドに目立つ空席 [鉄チーズ烏★]
- 【淡路島】88歳男が好意を理由に60歳女性宅へ侵入か 「下の毛がほしい」不適切メモを残す ストーカー容疑で再逮捕 洲本市 [nita★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… [尺アジ★]
- 【NHK】受信料の未払い督促を10倍に強化… 支払い拒否が続くと民事手続きも 「カーナビも受信料いただきます」方針 [冬月記者★]
- 他サポ 2025-261
- 他サポ 2025-260
- 2025 SUPER FORMULA Lap18
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 京都競馬4回5日目エリザベス女王杯★3
- 福島競馬3回5日目
- 大河ドラマ『高市早苗』👈ありがちなこと [804169411]
- 高市ソルジャー、国連の敵国条項を持ち出すのは卑怯だと中国大使館にブチギレ [931948549]
- ネトウヨですら高市早苗首相をそんな評価してないとの声。SNSの熱量が少ない。 [253245739]
- 日本人の73%「中国が嫌い」日本の右傾化止まらない [165981677]
- 【高市悲報】中国、南アフリカを味方につけてイキる [614650719]
- 日本人の48%覚悟完了… [819729701]
