On Wednesday, 27 April 2016 at 23:30:10 UTC, Nicholas Wilson
wrote:
On Wednesday, 27 April 2016 at 13:00:29 UTC, RuZzz wrote:
Code:
import std.concurrency;
import core.thread;
//import vibe.http.client; // If uncommented this
line, the thread "worker" does not start
void worker() {
foreach (i; 0 .. 5) {
Thread.sleep(500.msecs);
writeln(i, " (worker)");
}
}
void main() {
spawn(&worker);
foreach (i; 0 .. 5) {
Thread.sleep(300.msecs);
writeln(i, " (main)");
}
writeln("main is done.");
}
How to launch threads with vibe.d? It doesn't work at both
compilers.
You don't. vibe.d uses fibers (aka green threads).
That doesn't matter. Native threads should work just fine, I'm
using them without problems in a vibe.d app.
Could it be that your main() function is never called at all? Try
to insert a writeln() at the beginning. If so, this could be
related to the "VibeDefaultMain" setting, see here:
http://vibed.org/docs#custom-main