Click here to Skip to main content
15,892,059 members
Articles / Programming Languages / C++

A Fiber Class (and Friends)

Rate me:
Please Sign up or sign in to vote.
4.91/5 (23 votes)
1 Jul 2008CPOL33 min read 49.6K   453   42  
Fibers are a lightweigtht cooperative threading mechanism, or a coroutine mechanism, depending on how you look at them. Besides providing a very efficient thread-like implementation, fibers allow you to provide "continuations", that is, computations which perform some function, suspend themselves, a
#pragma once

#include "fiber.h"

/****************************************************************************
*                                  class QE
****************************************************************************/

class QE : public CFiber {
    public: // constructor/destructor
       QE(LPFIBER_START_ROUTINE rtn, SIZE_T stack = 0) 
             : CFiber(rtn, stack) { next = NULL; }
       QE() { next = NULL; }
       virtual ~QE() {  }

    public:
       virtual void Display(LPCTSTR s) { }
    public: // internal state
       QE * next;
};
typedef QE * PQE;

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Retired
United States United States
PhD, Computer Science, Carnegie Mellon University, 1975
Certificate in Forensic Science and the Law, Duquesne University, 2008

Co-Author, [i]Win32 Programming[/i]

Comments and Discussions