История изменений
Исправление dissident, (текущая версия) :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input input) const
{
Output output(Input.someOtherValue.returnSomething());
return output;
}
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable async код, а не Haskell, но при этом избежав мутексов, но при этом без блокировок.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще?
Исправление dissident, :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input input) const
{
Output output;
output.someValue = Input.someOtherValue.returnSomething()
return output;
}
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable async код, а не Haskell, но при этом избежав мутексов, но при этом без блокировок.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще?
Исправление dissident, :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input input) const
{
Output output;
output.someValue = Input.someOtherValue.returnSomething()
return output;
}
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable async код, а не Haskell, но при этом избежав мутексов, но при этом без блокировок.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще
Исправление dissident, :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input input) const
{
Output output;
output.someValue = Input.someOtherValue.returnSomething()
return output;
}
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable код, а не Haskell, но при этом избежав мутексов.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще
Исправление dissident, :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input) const
{
Output output;
output.someValue = Input.someOtherValue.returnSomething()
return output;
}
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable код, а не Haskell, но при этом избежав мутексов.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще
Исходная версия dissident, :
ну… не все же программируют бомбы в юнити.:) разумная жизнь есть и за ее пределами.
Ну можно вообще все написать вот так:
Output MyFunction(Input) const { Output output; output.someValue = Input.someOtherValue.returnSomething() return output; }
И все будет immutable. И никакие трэды не нужны. И мутексы и прочее. Как я понял fibers/coroutine позволяют писать таки human-readable код, а не Haskell, но при этом избежав мутексов.
я просто изложил некую систематизацию, как одно от другого отличать. щас посмотрю что там корутины в юнити и скажу что нибудь конкретное
Ну в PDF из ссылок выше хорошо описано.
Fiber: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление выбранному шедулеру для данного трэда (например просто циклу, который вызываеть следущий fiber до его yield и так для каждого fiber, пока они все не издохнут). Тип шедулера можно выбрать (просто цикл, хитроумный цикл и т.д.)
Coroutine: Один трэд создает их сколько угодно. В них есть yield. Мутексы и прочее не нужны. Каждый yield передает управление трэду, который их создал. Их нужно руками резюмить. Сколько и какие решает писатель кода этого самого трэда.
Coroutine можно превратить в fiber написав scheduler.
Я просто хотел понять:
- Прав ли я, что корутины в Unity - это fibers?
- Правильно ли я понял эти определения и примеры вообще