class SingletonCounter {
static $m_instance = NULL;
function Instance()
{
if (self::$m_instance == NULL) {
self::$m_instance = new Counter();
}
return self::$m_instance;
}
}
これじゃマルチスレッドセーフじゃないよね。Java みたいにインスタンスの宣言時に初期化することはできないのかな。
class SingletonCounter {
static private SingletonCounter instance = new SingletonCounter();
private SingletonCounter(){
}
static public SingletonCounter getInstance()
{
return instance;
}
}
こんな感じか?試してみりゃいい話か。TODOいきだな。
追記:できないみたい。クラス変数の宣言時には定数でしか初期化できないらしい(PHP4から)こないだ前に勤めていた会社に行った際に上司が紹介してくれた本。つーかこんなのでたかぁ。とりあえず買っちゃった。今から読むので楽しみ。どっちかというと洋書の方がよかったんだけど、日本で買うには高すぎ。Oreily本は洋書(原版)にかぎるよね。翻訳がくさってるから。Effective○○シリーズとかも。
1.0にX Window Systemをクラッシュさせるバグが見つかったそうな。しかもCSSで大きなフォントサイズが指定されるとメモリ使用量が増大して落ちるという、なんとも情けない。
同じく、その上司の人に読んでみ?って言われて楽しそうなんで必死こいてよんでまーす。現在2章ですが面白くなってきそうっす。
著者について知らないから調べてみたけど、ちょっと怪しげ。これ初本みたいね、彼の。あとなんかでてくるのnetbsd関係が多かったり。