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


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

【Lua】組み込み系言語総合 その2【Squirrel】



129 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 21:20:37 ]
>>127
だから削除したいならスレッドの参照を潰せばいいだけでしょ?
自分で最後に答え書いてるじゃん!


中断中のコルーチンが参照されなくなった場合に GC 対象になるかどうかは
マニュアルにも明言されてない、どっちなの? って質問なら確かにわかりにくいとは思うが。

int main(int argc, char* argv[])
{
 lua_State* L = lua_open();
 luaL_openlibs(L);
 lua_State* thread = lua_newthread(L);

 luaL_loadstring(thread, "print('co1'); coroutine.yield(); print('co2');");

 lua_resume(thread, 0);

 //lua_settop(L, 0);

 lua_gc(L, LUA_GCCOLLECT, 0);

 lua_resume(thread, 0);

 lua_close(L);
 return 0;
}

lua_newthreadで積んだスレッドを潰す処理であるlua_settopの行のコメントを削除すると
二回目のlua_resumeの時点で落ちるところから「GC対象になる」が正解みたいやね。






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

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

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