Сообщение Re[5]: Можно ли избавиться от async|await? от 16.12.2025 8:53
Изменено 16.12.2025 8:54 mrTwister
Re[5]: Можно ли избавиться от async|await?
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, mrTwister, Вы писали:
T>>В go все функции асинхронны, у меня уже пальцы устали это писать
S>Вы ошиблись:
S>https://telegra.ph/Go-ne-vse-funkcii-asinhronnye-12-16
Дальше не читал. Горутина в go — это просто структура данных. Как, например, Task в .net. Не в смысле, что это аналог, в смысле что это вспомогательная структура данных для организации вычислений. Вызов функции в go блокирует горутину точно так же, как await блокирует асинхронную функцию в C#
Давай так, объясни, чем в плане поведения (а так же потребление ресурсов, потоков) отличаются C# вариант от go варианта?
[sharp]
async Task<int> SumAsync(int a, int b) {
return a + b;
}
var x = await SumAsync(2, 3);
[/sharp]
S>Здравствуйте, mrTwister, Вы писали:
T>>В go все функции асинхронны, у меня уже пальцы устали это писать
S>Вы ошиблись:
S>https://telegra.ph/Go-ne-vse-funkcii-asinhronnye-12-16
По умолчанию вызов функции в Go — синхронный: выполняется в текущей горутине и возвращает управление только после return
Дальше не читал. Горутина в go — это просто структура данных. Как, например, Task в .net. Не в смысле, что это аналог, в смысле что это вспомогательная структура данных для организации вычислений. Вызов функции в go блокирует горутину точно так же, как await блокирует асинхронную функцию в C#
Давай так, объясни, чем в плане поведения (а так же потребление ресурсов, потоков) отличаются C# вариант от go варианта?
[sharp]
async Task<int> SumAsync(int a, int b) {
return a + b;
}
var x = await SumAsync(2, 3);
[/sharp]
func sum(a, b int) int {
return a + b
}
x := sum(1, 2)Re[5]: Можно ли избавиться от async|await?
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, mrTwister, Вы писали:
T>>В go все функции асинхронны, у меня уже пальцы устали это писать
S>Вы ошиблись:
S>https://telegra.ph/Go-ne-vse-funkcii-asinhronnye-12-16
Дальше не читал. Горутина в go — это просто структура данных. Как, например, Task в .net. Не в смысле, что это аналог, в смысле что это вспомогательная структура данных для организации вычислений. Вызов функции в go блокирует горутину точно так же, как await блокирует асинхронную функцию в C#
Давай так, объясни, чем в плане поведения (а так же потребление ресурсов, потоков) отличаются C# вариант от go варианта?
S>Здравствуйте, mrTwister, Вы писали:
T>>В go все функции асинхронны, у меня уже пальцы устали это писать
S>Вы ошиблись:
S>https://telegra.ph/Go-ne-vse-funkcii-asinhronnye-12-16
По умолчанию вызов функции в Go — синхронный: выполняется в текущей горутине и возвращает управление только после return
Дальше не читал. Горутина в go — это просто структура данных. Как, например, Task в .net. Не в смысле, что это аналог, в смысле что это вспомогательная структура данных для организации вычислений. Вызов функции в go блокирует горутину точно так же, как await блокирует асинхронную функцию в C#
Давай так, объясни, чем в плане поведения (а так же потребление ресурсов, потоков) отличаются C# вариант от go варианта?
async Task<int> SumAsync(int a, int b) {
return a + b;
}
var x = await SumAsync(2, 3);func sum(a, b int) int {
return a + b
}
x := sum(1, 2)