из метода. Из за lock использовать await в нем нельзя. Хочется вынести эту логику за пределы lock, чтобы использовать асинхронный вызов. Как это красиво и правильно сделать с точки зрения C#?
делай луче з точки зрения F# точно будет красиво
Скорее всего там можно что-то принципиально переписать, для чего там используется lock блок?
Ну, лок же используем при многопоточности, а ты хочешь при этом юзать асинк. Мне кажется надо выбирать либо асинк либо мт. Кинь код, может кто умнее подскажет.
Там одновременный доступ у потоков к использованию какого-то файла?
lock используется для блокирування некоторого ресурса для других потоков, пока этот получает информацию от этого ресурса
Ну ты прям капитан очевидность. Если ты используешь лок у тебя мт уже иначе зачем, а асинк работает в одном потоке, по этому надо выбирать, как я уже написал. Либо мт с локом, либо асинк с семафорами.
Мне lock там нужен, но при выходе по ошибке хочется уже работать асинхронно вне блока lock. Использовать goto не хочется :)
Там много путей, но надо смотреть непосредственно на код
Сделай catch вне лока просто
Обсуждают сегодня