このコードがスレッドセーフであるか/同期の機能を置き換えるかどうかを確認できますか?複数のスレッドへのアクセスを制限したいのですか?マルチスレッドのためのJavaの "synchronized"キーワードの代わりに
class CheckSynch{
public static booloean check=true;
public static void func() // I am trying to write alternative code for synchronized function
{
if(check) {
check=false;
//body of function
check=true;
notifyAll();
} else {
wait();
}
}
}
コード例が混乱しています。 – Rihards
私を信じて、synchronizedキーワードの代わりに書く必要はありません。既にこの井戸を設計しているあなたよりもはるかに賢い人、犯罪はありません。 –
このコードは実行されず、スレッドセーフではありません。 wait/notifyはsynchronizedブロック内になければなりません。そうでなければ、何も待ったり通知したりすることはありません。 – Robin