true を代入!>< ASyncSyncBoolean hoge = (ASyncSyncBoolean)true; : True false をノンブロッキング代入もどき代入!>< hoge = hoge <= false; : True Update!>< hoge.Update(); : False trueを返す時間がかかる処理を代入!>< hoge = hoge <= new Func(() => { Thread.Sleep(500); return true; }); : False 同期せずに処理後の値を調べる>< NotReadyExeptionになるはず>< (bool)(GuaranteedAsyncBoolean)hoge Exception!!>< Orange.ASyncSyncBoolean+NotReadyExeption 同期で処理して処理後の値を調べる>< (bool)(SyncronizedGuaranteedBoolean)hoge : True false を代入!>< ASyncSyncBoolean hoge = (ASyncSyncBoolean)false; : False trueを返す時間がかかる処理を代入!>< hoge = hoge <= new Func(() => { Thread.Sleep(500); return true; }); : False 非同期で処理開始>< hoge.Generate(); : False 0ms経過>< : False 101ms経過>< : False 201ms経過>< : False 301ms経過>< : False 401ms経過>< : False 502ms経過>< : True false を代入!>< ASyncSyncBoolean hoge = (ASyncSyncBoolean)false; : False trueを返す時間がかかる処理を代入!>< hoge = hoge <= new Func(() => { Thread.Sleep(500); return true; }); : False 非同期で処理開始>< hoge.Generate(); : False 待つ>< hoge.WaitTask(); 待った>< : False 更新>< hoge.TryUpdate(); : True