Size: a a a

2020 September 10

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Когда ревьювил Макса
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Ну, не совсем редкость, смотря какая конфа, и какая сфера. В про графоне постоянно к примеру вкидывают интересную фигню
источник

rr

razumovsky r in CODE BLOG / C#
а вот разобраться именно в тонкостях нужно уметь
источник

rr

razumovsky r in CODE BLOG / C#
дело в том что он вкинул
источник

rr

razumovsky r in CODE BLOG / C#
и теперь не знаю насчет него, но я лично профессор фор ича
источник

rr

razumovsky r in CODE BLOG / C#
так что этот срачь был не зря
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
За сегодняшний день самая интересная задачка была у парня с многопоточность
источник

rr

razumovsky r in CODE BLOG / C#
вау
источник

rr

razumovsky r in CODE BLOG / C#
и что тамз а задача ?
источник

rr

razumovsky r in CODE BLOG / C#
писать в файл с 5 потоков и ставить на лок небось ?
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
Вот интересно было посмотреть решение, как он выкрутился
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Я минуту назад сказал что он токсик)))
источник

rr

razumovsky r in CODE BLOG / C#
90% что там тупой вопрос и тупое решение
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
razumovsky r
90% что там тупой вопрос и тупое решение
Там сложный вопрос был и реально сложное решение
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Макс Епифанов
Вот интересно было посмотреть решение, как он выкрутился
Он кидал выше где то
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Серегу тегнул
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Бля, какой из серег серега?
источник

AK

Andrew Kravchuk in CODE BLOG / C#
@chelio0s  я сделяль
Значит проблема была в чем - параллельно выполняющиеся транзакции гадят друг другу, изменяя общие ресурсы так, как им хочется, вразнобой. Из-за этого и возникали то левые данные, то взаимоблокировки, которые deadlock-и.
Решением может стать блокировка общего ресурса той транзакцией, которая к нему первая достучалась. То есть мы начинаем транзакцию, и тут же ставим блокировку на общий ресурс. Причем такую, что другие транзакции даже доступа на чтение не могут получить.
Конкретно в моем случае накладываем update-блокировку:
Запрос до: SELECT @available = Quantity FROM Storage WHERE ProductId = @productId;
Запрос после: SELECT @available = Quantity FROM Storage WITH(UPDLOCK) WHERE ProductId = @productId;
И у меня исчезли дедлоки и просчеты. Тестировал в 100 потоков.
Вот тут подробнее: https://habr.com/ru/company/mindbox/blog/261661/
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Тут их два
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Тот что поактивней
источник