Size: a a a

2020 October 03

IC

Ilya L Che in .NET Talks
Mr. N
А как можно занять чем-то поток, заблокировать?
Вопрос не понял. Если у нас задача использует IO (сокеты, обращение к серверу в США и т.д.), то без специальных приёмов (async/await, reactive и т.д.) код будет блокирующим. То есть наша задача зависит не только от cpu, но и от нагруженности сети, например.
источник

MN

Mr. N in .NET Talks
Ilya L Che
Вопрос не понял. Если у нас задача использует IO (сокеты, обращение к серверу в США и т.д.), то без специальных приёмов (async/await, reactive и т.д.) код будет блокирующим. То есть наша задача зависит не только от cpu, но и от нагруженности сети, например.
Ну например есть поток, ему сказали посчитать сколько будет миллион в миллионе степени, он себе щитает он больше ничего не может сделать
источник

MN

Mr. N in .NET Talks
это блокирование потока
источник

G

Golphyn in .NET Talks
Mr. N
Ну например есть поток, ему сказали посчитать сколько будет миллион в миллионе степени, он себе щитает он больше ничего не может сделать
тебе же уже все описали до этого
источник

G

Golphyn in .NET Talks
есть cpu bound, есть io bound операции
источник

MN

Mr. N in .NET Talks
Mr. N
Ну например есть поток, ему сказали посчитать сколько будет миллион в миллионе степени, он себе щитает он больше ничего не может сделать
асинхронный код создает еще один поток, и начинает выполнять операции дальше
источник

MN

Mr. N in .NET Talks
Тоисть не получится асинхроного кода, с одним потоком
источник

IC

Ilya L Che in .NET Talks
Mr. N
Ну например есть поток, ему сказали посчитать сколько будет миллион в миллионе степени, он себе щитает он больше ничего не может сделать
Ну да, считает. Но его и ничем другим больше нельзя занять. Да, он занят, но делом. Поэтому блокирующим в плохом смысле его нельзя назвать.
источник

IC

Ilya L Che in .NET Talks
Mr. N
асинхронный код создает еще один поток, и начинает выполнять операции дальше
Нет.
источник

G

Golphyn in .NET Talks
Mr. N
асинхронный код создает еще один поток, и начинает выполнять операции дальше
никакого смысла делать cpu bound код "асинхронным" нет
источник

IC

Ilya L Che in .NET Talks
Асинхронный код не создает потоков.
источник

MN

Mr. N in .NET Talks
Ilya L Che
Нет.
ну ты создаешь
источник

G

Golphyn in .NET Talks
чорд, не то сообщение триггернул
источник

MN

Mr. N in .NET Talks
Ilya L Che
Ну да, считает. Но его и ничем другим больше нельзя занять. Да, он занят, но делом. Поэтому блокирующим в плохом смысле его нельзя назвать.
да
источник

IC

Ilya L Che in .NET Talks
Mr. N
ну ты создаешь
И я не создаю. Код после завершения ожидания может продолжить выполняться на том же потоке. Какой дадут, на том и будет.
источник

MN

Mr. N in .NET Talks
Ilya L Che
И я не создаю. Код после завершения ожидания может продолжить выполняться на том же потоке. Какой дадут, на том и будет.
да, ну по идее он уже синхронный, и заблокирован
источник

IC

Ilya L Che in .NET Talks
Mr. N
да, ну по идее он уже синхронный, и заблокирован
Почему заблокирован?
источник

IC

Ilya L Che in .NET Talks
Хотя смотря как напишешь. Если речь о втором моём примере, то блокирующий.
источник

IC

Ilya L Che in .NET Talks
А если с async/await, то нет.
источник

MN

Mr. N in .NET Talks
не
источник