2つのスレッドだけでいいのならクリティカルセクションでも同期は取れる。

最初にどちらかのスレッドが所有権を保持するようにする。
片方のスレッドはEnter.....()で所有権が解放されるまで待機。
所有権を持っていたスレッドが所有権を解放すれば片方のスレッドは
実行が開始されるようになる。

高速性が大事でかつ簡易な同期処理でいいならこんな方法もある。

関数自作するとか。排他制御ができれば後は自分でいろいろできる。