Java synchronized キーワード
以下のような記述を見た
package test; import org.apache.log4j.Logger; public class UserLog { private static Logger log; static { } public UserLog() { } public static Logger getLog() { if (log == null) { initLog(); } return log; } private static synchronized void initLog() { log = Logger.getLogger(UserLog.class.getName()); } }
synchronized
というキーワードが気になった
synchronizedキーワードを使ったメソッドを作成すると
そのメソッドの実行が終わるまで他のスレッドはそのメソッドを呼ぶことができなくなる(同時に呼ばれなくなることが保証される?)