マルチスレッドやデッドロックなどを詳しく調べるのに忙しかったです。この本は疑似コードと C コードの両方を対象としており、Mutex ロックやモニターなどの実装を調べるのに忙しかったです。
これにより、次のことが思い浮かびました。C# や .NET では、物事を行うための構文糖衣がたくさんあります。たとえば(.NET 3.5):
lock(obj)
{
body
}
以下と同一です:
var temp = obj;
Monitor.Enter(temp);
try
{
body
}
finally
{
Monitor.Exit(temp);
}
もちろん、コンストラクトなどの他の例もありますusing() {}
。私の質問は、言語で「シンタックス シュガー」を使用するよりも、「独力で行って」文字通り物事を自分でコーディングする方が適切なのはいつですか? あなたがコーディングしている言語でより経験豊富な人々の方法ではなく、自分の方法を使用する必要がありますか?
以前は、マルチスレッドの問題や無限ループの問題を解決するためProcess
に、ブロック内でオブジェクトを使用しないようにする必要があったことを思い出します。using
そこに using 構造がないことに、私はまだ汚いと感じています。
ありがとう、
カイル