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

Reply via email to