How to use Fiber?

Dejan Lekic via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Feb 25 06:47:36 PST 2015


On Tuesday, 24 February 2015 at 10:15:29 UTC, FrankLike wrote:
> There is a int[] ,how to use the Fiber execute it ?
> Such as :
>
> import std.stdio;
> import core.thread;
>
>
> class DerivedFiber : Fiber
> {
>     this()
>     {
>         super( &run );
>     }
>
> private :
>     void run()
>     {
>         printf( "Derived fiber running.\n" );
>         faa();
>     }
> }
>
> int[] v;
>
>  void ftread()
> {
> 	DerivedFiber work = new DerivedFiber();
> 	writeln( " will call " );
> 	work.call();
> 	writeln( " stop call " );
> }
> void faa()
> {
> 	writeln( " start " );
> 	//Fiber.yield();
> 	writeln( " start yield " );
>     foreach(c;v)
>     {
>     	writeln( " current n is ",c );
>     }
> }
> void main()
> {
> int n=1;
> 	while(n<=10_001)
> 	{
> 		v~=n;
> 		n+=5000;
> 	}
> printf( "Execution returned to calling context.\n" );
>   ftread();
> }
> -------------end------------
>
> I dont's think it's a good work.
> How about you?
>
> Thank you.

On the "Articles" page on D Wiki ( http://wiki.dlang.org/Articles 
) you have this link: 
http://octarineparrot.com/article/view/getting-more-fiber-in-your-diet

It is probably the best article about using fibers in D that I 
have seen so far.


More information about the Digitalmars-d-learn mailing list