Thread overview | ||||||
---|---|---|---|---|---|---|
|
December 09, 2020 Async await problem solved | ||||
---|---|---|---|---|
| ||||
It's been there for a while. > This library provides a very easy-to-use async/await library for D. It consists of only three functions: async, await, and startScheduler. The library is build on top of D's fibers and allows for easier cooperative multitasking. import std.stdio; int calculateTheAnswer() { import core.thread : Thread; Thread.sleep(5.seconds); return 42; } void doTask() { writeln("Calculating the answer to life, the universe, and everything..."); int answer = await(calculateTheAnswer()); writeln("The answer is: ", answer); } void main() { startScheduler({ doTask(); }); } https://code.dlang.org/packages/dawait |
December 11, 2020 Re: Async await problem solved | ||||
---|---|---|---|---|
| ||||
Posted in reply to aberba | On Wednesday, 9 December 2020 at 09:16:31 UTC, aberba wrote:
> It's been there for a while.
>
>> This library provides a very easy-to-use async/await library for D. It consists of only three functions: async, await, and startScheduler. The library is build on top of D's fibers and allows for easier cooperative multitasking.
>
> import std.stdio;
>
> int calculateTheAnswer() {
> import core.thread : Thread;
> Thread.sleep(5.seconds);
> return 42;
> }
>
> void doTask() {
> writeln("Calculating the answer to life, the universe, and everything...");
> int answer = await(calculateTheAnswer());
> writeln("The answer is: ", answer);
> }
>
> void main() {
> startScheduler({
> doTask();
> });
> }
>
> https://code.dlang.org/packages/dawait
nice library! thanks for sharing!
|
December 11, 2020 Re: Async await problem solved | ||||
---|---|---|---|---|
| ||||
Posted in reply to aberba | On Wednesday, 9 December 2020 at 09:16:31 UTC, aberba wrote:
>> This library provides a very easy-to-use async/await library for D. It consists of only three functions: async, await, and startScheduler. The library is build on top of D's fibers and allows for easier cooperative multitasking.
How does this differ from std.concurrency.Generator?
|
December 11, 2020 Re: Async await problem solved | ||||
---|---|---|---|---|
| ||||
Posted in reply to aberba | On 2020-12-09 10:16, aberba wrote: > It's been there for a while. > >> This library provides a very easy-to-use async/await library for D. It consists of only three functions: async, await, and startScheduler. The library is build on top of D's fibers and allows for easier cooperative multitasking. > > import std.stdio; > > int calculateTheAnswer() { > import core.thread : Thread; > Thread.sleep(5.seconds); > return 42; > } > > void doTask() { > writeln("Calculating the answer to life, the universe, and everything..."); > int answer = await(calculateTheAnswer()); > writeln("The answer is: ", answer); > } > > void main() { > startScheduler({ > doTask(); > }); > } > > https://code.dlang.org/packages/dawait I don't think it's that simple. To be efficient you need to use no-blocking IO and have an event loop as well. -- /Jacob Carlborg |
Copyright © 1999-2021 by the D Language Foundation