On Tuesday, 30 June 2020 at 00:33:41 UTC, Ali Çehreli wrote:
On 6/29/20 4:34 PM, aberba wrote:

> So with this, without the Thread.sleep() to block main from
exiting, the
> spawned thread  will terminate immediately.

You can call core.thread.thread_joinAll at the end of main.
So I tried that initially but my (){ writeln(...) } wasn't printing anything in console. Could that be related to stdout buffering? The program kept running though.



Another way would be to wait for a worker's exit by looking for LinkTerminated but you need to start the thread with spawnLinked:

Read that too, but doesn't seem like the desired behavior I want.


So here's the thing, unlike JavaScript, the D behavior seems to be like a while(bool){} has to be placed directly within the scope of main. Was thinking as long my while loop in setInterval() was running, spawn() will be kept alive.

It seem both vibe.d and arsd have a similar setInterval() implementation and they both require using their event loop to keep the program alive.

In my case, wanted setInterval() to behave like it's own event loop without placing it in a while(bool){} loop in main()

Reply via email to