1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
using System.Threading; namespace Ryujinx.HLE.HOS.Kernel.Threading { class KThreadContext { private int _locked; public bool Lock() { return Interlocked.Exchange(ref _locked, 1) == 0; } public void Unlock() { Interlocked.Exchange(ref _locked, 0); } } }