Сообщение Умный синхронизатор от 14.11.2020 12:10
Изменено 14.11.2020 12:11 Barbar1an
Умный синхронизатор
я ваще удивлюсь если такого вообще нигде нет, но щас речь про дотнет
пусть у нас куча методов которвые вызываются асинхронно
такое и руками наверно можно написать, но если в дотнете что такое готвое?
пусть у нас куча методов которвые вызываются асинхронно
Mathod1()
{
lock(resource){}
}
Method2()
{
Mathod1(); // норм
}
Method3()
{
lock(resource)
{
Mathod1(); // дедлок, но нафига? если мы знаем, что если наш мютекс захвачен тем же потоком, то мы смело можем просто проигнорировать вложенный лок, ибо выполнение и так уже синхронное
}
}
такое и руками наверно можно написать, но если в дотнете что такое готвое?
Умный синхронизатор
я ваще удивлюсь если такого вообще нигде нет, но щас речь про дотнет
пусть у нас куча методов которвые вызываются асинхронно
такое и руками наверно можно написать, но если в дотнете что такое готвое?
пусть у нас куча методов которвые вызываются асинхронно
Method1()
{
lock(resource)
{
}
}
Method2()
{
Mathod1(); // норм
}
Method3()
{
lock(resource)
{
.....
Method1(); // дедлок, но нафига? если мы знаем, что если наш мютекс захвачен тем же потоком, то мы смело можем просто проигнорировать вложенный лок, ибо выполнение и так уже синхронное
.....
}
}
такое и руками наверно можно написать, но если в дотнете что такое готвое?