[過去ログ] GCは失敗。メモリは自分で管理せよ! その2©2ch.net (720レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
125: デフォルトの名無しさん [sage] 2015/11/30(月) 22:07:34.86 ID:zT+q2mn+(3/3) AAS
>>124そやね
一連のレスの意図すらよーわからんわ
180(1): デフォルトの名無しさん [sage] 2015/12/05(土) 15:24:40.86 ID:4CEShJeO(1) AAS
例外にも対応って?
281: 名無しさん@そうだ選挙に行こう [sage] 2015/12/14(月) 15:58:21.86 ID:2JSVZtRY(1) AAS
そもそも実務でスレッド使うPGなんてゴマンもいない
323(1): デフォルトの名無しさん [sage] 2015/12/20(日) 17:21:31.86 ID:ZDEpjFBd(2/3) AAS
なんか参照カウントの話とマルチスレッドの話がごっちゃになってね?
341: デフォルトの名無しさん [sage] 2015/12/21(月) 07:08:24.86 ID:ejqZ3DMD(13/26) AAS
LG 4K OLED: Paris and Chicago
外部リンク:aurorawave.atspace.tv 画像リンク
#AuroraWaveTV
430: デフォルトの名無しさん [sage] 2016/03/27(日) 16:44:43.86 ID:vj+h39OC(8/10) AAS
訂正
struct A{ *obj };
void func()
{
A a;
}
↓
struct A{ object *obj };
void func()
{
A a;
}
440(2): デフォルトの名無しさん [sage] 2016/03/27(日) 22:32:53.86 ID:vj+h39OC(10/10) AAS
>「いつか」全員が所有権を手放したら「即座に」破棄される
>「いつか」全員が所有権を手放したら「いつか」GCで破棄される
>どう違うというのか。
少なくとも最善が尽くされるという意味で違うし
同じデータと同じプログラムで有れば、常に同じタイミングで開放処理が走るという再現性が有る
それから、自分しか所有権を持っていない場合、つまり参照数が常に1というシンプルな状況ですら
参照カウンタ方式の方が開放処理が自動化されて楽
参照カウンタ方式で有れば、スマポを使っておけば済む
scoped_ptrでも良い
マークスイープ系GCであれば、自身しか所有権を持たない単純な場合でも
非常に面倒なことになる
自身にDisposeを実装して自身のメンバのDisposeを呼び出すコードを手動で書かなければならない
何故こういったコードをコンパイラが自動生成できず、手動で書かなければならないのかの根底に
まさにマークスイープGCの存在が有る
マークスイープ系GCは何処からも参照されなくなったことがその場ですぐに分からない
GCを発動してみるまで保証することが出来ない
自分のDisposeが呼び出された、まさにその瞬間に、自分のメンバに対してもDisposeしてよいのかどうなのか
参照数がリアルタイムで即座に分からないので判断する材料が何も無く
コンパイラはC++のデストラクタのように自動で芋づる式に開放処理を呼び出すコードを生成することが出来ない
要するにマークスイープ系GCではDisposeのコンパイラによる自動生成が出来ないという大きなマイナスが有る
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s