Size: a a a

Unity Floodилка

2021 January 11

n

neFormal in Unity Floodилка
щито? он задаёт механизм создания этих куратин
источник

P

Phantom in Unity Floodилка
neFormal
щито? он задаёт механизм создания этих куратин
Нет)
источник

P

Phantom in Unity Floodилка
Phantom
Его может даже не быть
В консольном приложении например, его вообще нет
источник

n

neFormal in Unity Floodилка
искаропки идёт несколько разных реализации для разных вариантов использования. с тредпулами и прочей хуетой
источник

n

neFormal in Unity Floodилка
Phantom
В консольном приложении например, его вообще нет
Нет)
источник

n

neFormal in Unity Floodилка
я тя щя пошлю доки дочитывать
источник

K

KopohGames in Unity Floodилка
Andrew
Сделал физику из готового физического движка 🙃
Реально
источник

P

Phantom in Unity Floodилка
neFormal
Нет)
Лол, ты в курсе, что если сделать task.ConfigureAwait(false), то оно не захватит контекст?
источник

n

neFormal in Unity Floodилка
Phantom
Лол, ты в курсе, что если сделать task.ConfigureAwait(false), то оно не захватит контекст?
всё, пиздуй в доку про контекст :3
источник

P

Phantom in Unity Floodилка
neFormal
всё, пиздуй в доку про контекст :3
Ох
источник

RK

Ruslan Karimov in Unity Floodилка
neFormal
какой перл? камл же
источник

P

Phantom in Unity Floodилка
Переслано от Phantom
источник

n

neFormal in Unity Floodилка
источник

n

neFormal in Unity Floodилка
>SynchronizationContext по умолчанию (ThreadPool) (mscorlib.dll: System.Threading) Это объект SynchronizationContext, сконструированный по умолчанию. По соглашению, если текущий SynchronizationContext потока равен null, тогда этому потоку неявно назначен SynchronizationContext по умолчанию.
источник

P

Phantom in Unity Floodилка
neFormal
>SynchronizationContext по умолчанию (ThreadPool) (mscorlib.dll: System.Threading) Это объект SynchronizationContext, сконструированный по умолчанию. По соглашению, если текущий SynchronizationContext потока равен null, тогда этому потоку неявно назначен SynchronizationContext по умолчанию.
При выполнении await для задачи (самый распространенный сценарий)  
в момент, когда await решает приостановить метод, сохраняется контекст.  
Это текущий объект SynchronizationContext, если только он не равен  
null (в этом случае контекстом является текущий объект TaskScheduler).  
Метод возобновляет выполнение в этом сохраненном контексте. Обычно  
контекстом является UI-контекст (для UI-потока) или контекст пула  
потоков (в большинстве других ситуаций). Если вы пишете приложение  
ASP.NET Classic (до Core), то контекстом также может быть контекст  
запроса ASP.NET. В ASP.NET Core используется контекст пула потоков  
вместо специального контекста запроса.
Таким образом, в приведенном коде все синхронные части пытаются  
возобновить продолжение в исходном контексте. Если вызвать метод  
DoSomethingAsync из UI-потока, каждая из его синхронных частей будет  
выполняться в этом UI-потоке, но если вызвать его из потока из пула  
потоков, то каждая из синхронных частей будет выполняться в любом  
потоке из пула потоков.
Чтобы обойти это поведение по умолчанию, можно выполнить await по  
результату метода расширения ConfigureAwait с передачей false в пара-
метре continueOnCapturedContext. Следующий код начинает выполнение  
в вызывающем потоке, а после приостановки await он возобновляет вы-
полнение в потоке из пула потоков:
источник

n

neFormal in Unity Floodилка
Phantom
При выполнении await для задачи (самый распространенный сценарий)  
в момент, когда await решает приостановить метод, сохраняется контекст.  
Это текущий объект SynchronizationContext, если только он не равен  
null (в этом случае контекстом является текущий объект TaskScheduler).  
Метод возобновляет выполнение в этом сохраненном контексте. Обычно  
контекстом является UI-контекст (для UI-потока) или контекст пула  
потоков (в большинстве других ситуаций). Если вы пишете приложение  
ASP.NET Classic (до Core), то контекстом также может быть контекст  
запроса ASP.NET. В ASP.NET Core используется контекст пула потоков  
вместо специального контекста запроса.
Таким образом, в приведенном коде все синхронные части пытаются  
возобновить продолжение в исходном контексте. Если вызвать метод  
DoSomethingAsync из UI-потока, каждая из его синхронных частей будет  
выполняться в этом UI-потоке, но если вызвать его из потока из пула  
потоков, то каждая из синхронных частей будет выполняться в любом  
потоке из пула потоков.
Чтобы обойти это поведение по умолчанию, можно выполнить await по  
результату метода расширения ConfigureAwait с передачей false в пара-
метре continueOnCapturedContext. Следующий код начинает выполнение  
в вызывающем потоке, а после приостановки await он возобновляет вы-
полнение в потоке из пула потоков:
выкинь эту книжку
источник

P

Phantom in Unity Floodилка
Под нет контекста синхронизации, я имел ввиду отдельного, а не дефолтного, который тупо выполняет работу на тредпуле
источник

P

Phantom in Unity Floodилка
neFormal
выкинь эту книжку
Лол
источник

P

Phantom in Unity Floodилка
Как бы, это книга стивена клири
источник

P

Phantom in Unity Floodилка
Чью статью ты кидал
источник