digitalmars.D - Async await problem solved
- aberba (19/23) Dec 09 2020 import std.stdio;
- RSY (2/25) Dec 11 2020 nice library! thanks for sharing!
- Dukc (2/6) Dec 11 2020 How does this differ from std.concurrency.Generator?
- Jacob Carlborg (5/34) Dec 11 2020 I don't think it's that simple. To be efficient you need to use
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
Dec 09 2020
On Wednesday, 9 December 2020 at 09:16:31 UTC, aberba wrote:It's been there for a while.nice library! thanks for sharing!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
Dec 11 2020
On Wednesday, 9 December 2020 at 09:16:31 UTC, aberba wrote:How does this differ from std.concurrency.Generator?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.
Dec 11 2020
On 2020-12-09 10:16, aberba wrote:It's been there for a while.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 CarlborgThis 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
Dec 11 2020