Moje podejście polega na tym, aby nie używać metod statycznych i klas w ramach operacji asynchronicznych - chyba że zaimplementowano pewną technikę blokowania, aby zapobiec warunkom wyścigu.Jak używać statycznych metod/klas w ramach operacji async/await?
Teraz async/await został wprowadzony do struktury C# 4.5+ - co upraszcza aplikacje wielowątkowe i zachęca do szybkiego reagowania.
Jednak - jako blokada nie może/nie powinna być umieszczona nad metodą oczekującą (i nie debatuję), czy teraz robi ona statyczne metody wykorzystujące asynchroniczne/oczekiwanie całkowicie nadmiarowe?
Wywołanie metody statycznej z wielu wątków będzie w porządku, jeśli nie będzie żadnych skutków ubocznych. –
Jeśli metoda ma efekty uboczne, to nie powinna być w pierwszej kolejności statyczna, ponieważ narusza wytyczną, że należy unikać globalnego stanu zmiennego. – CodesInChaos
@CodesInChaos Nie sądzę, że można * naruszać * wytyczne ;-) Tak czy inaczej, punktem, który próbowałem uczynić, jest to, że blokowanie nie będzie wymagane w przypadku większości metod statycznych, chyba że jakiś stan współdzielony zostanie zmutowany. OP nie dostarczył wystarczających informacji na temat tego frontu i wydaje się implikować blokowanie, ponieważ jest statyczne, a nie blokowane do zarządzania państwem. –