
Singletonパターン(單例模式)
大和さんの記事でSingletonパターンと言う言葉を見かけました。
昔、自分がGoFのデザインパターン本を「眺めた(読んだとは言えない)」中でもとくに意味不明だったのがSingletonパターン。いや、もちろん、一つのクラスのインスタンスを一つだけにしたいという「趣旨」はわかりますよ。でも、「はいそれで?これは何やっているの?」と、さっぱりでした。
図書館から借りてきた繁体字版の

こちらの本で「單例模式(Singletonパターン)」の章から、「解析經典的單例模式實作(クラシカルなSingletonパターンの実装解析)」という項目を眺めてみると、昔の自分が、「何を分かっていなかったのか」が今になって分かりました。
「クラス変数」と「インスタンス変数」の違いがそもそも分かっていなかったんです。今は「經典的(クラシカル)」な部分はよし。
マルチスレッドの部分はsynchronizedというキーワードつければ競合が防げるとかいう話のようです。
自分はJava知らないし、マルチスレッドのプログラムとかもたぶん書く機会はないでしょうし知らなくていいかな・・。と思ったけど、折角なのでCopilot先生に聞いてみた内容を貼って残しておきます。




ふうん・・(^_^;)
(Copilotの回答の妥当性について判断する力が自分にはありません)
スレッドの扱い方を勉強したらわかるようになるかな?