2007-11-12から1日間の記事一覧
http://www.horobi.com/tips/SmartLock/ javaのsynchronizedを使ってrwlockを実現する例があった。大まかな実装の仕方は聞いたことがあったが、コードになっていると判りやすい。それにしてもjavaは読みやすくて良い言語だ。
void read1() { int ret; while (ret = tryrdlock(&rw)) { if (ret==EDEADLK) { break; } else { //エラー処理 } sleep(100);//適当に待機 } //排他でのread作業 if (ret!=EDEADLK) { unlock(&rw); } } void read2() { int ret; if (!(ret = tryrdlock(&rw))…
今回はracial.cを解説する。特徴的なレイシャル(クラス)・パワーがあればそれだけでキャラが立つだろう。その意味でここは改造のしがいがある。 関数名 説明 bool do_cmd_archer(void) アーチャーの矢弾の生成 bool gain_magic(void) 魔道具術師の魔力の取り…
システム面で重要な部分としてvariable.c, extern.hがある。ここで扱っているものはゲーム全体に影響するデータ、要するにグローバル変数である。 グローバル変数の本体はvariable.cで定義し、そのextern宣言だけをextern.hに記述する。他のファイルでグロー…