Я немного новичок в работе с потоками в c # и вообще, в своей программе я использую mutex
, чтобы разрешить только 1 потоку попадать в критическую секцию и по неизвестной причине при выполнении некоторых распечаток cwЯ вижу, что более 1 потока попадает в мой критический раздел, и это мой код:
Mutex m = new Mutex();
m.WaitOne();
<C.S> // critical section here
m.ReleaseMutex();
Я бы очень хотел знать, если я здесь ошибаюсь, заранее спасибо за вашу помощь.
РЕДАКТИРОВАТЬ:
Мой код включает в себя классы, так что в основном это выглядит примерно так:
public class test
{
private mutex m;
public test()
{
m = new mutex();
}
public func()
{
m.WaitOne();
<C.S> // critical section here
m.ReleaseMutex();
}
}