Fiber cross threads terminated
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Sep 1 18:53:58 PDT 2016
On 9/1/16 9:27 PM, mogu wrote:
> Here's my code in main function:
> ```
> auto fiber = new Fiber({
> while (true) {
> Thread.sleep(1.seconds);
> Fiber.yield;
> }
> });
>
> void foo() {
> while (true) {
> fiber.call;
> //Thread.sleep(1.seconds);
> //"---".writeln;
> }
> }
>
> new Thread({
> foo();
> }).start;
>
> new Thread({
> Thread.sleep(500.msecs);
> foo();
> }).start;
>
> ```
> If I comment the `fiber.call;`, all works.
> system: ubuntu 16.04LTS
> dmd version: 2.071.1
Fibers in D are not meant to be run in multiple threads.
-Steve
More information about the Digitalmars-d-learn
mailing list