• 首頁
  • 文件
  • 下載
  • 狀態
  • 常見問題
  • 郵件列表
  • 應用程式
  • 外部鏈結
  • 版權
  • 志願者
  • 聯繫

類別:Thread

線緒介面。

類型 使用 成員 說明
建構子 public Thread(int stackSize,bool reservation)
建構子 public Thread(void)
解構子 public ~Thread(void)
資料 public int running 。
資料 public int StackSize 。
資料 public bool Reservation 。
資料 public ThreadData Data 。
資料 public std::list AllThreads 。
函式 public int setPriority (int priority) 。
函式 public virtual void start (void) 。
函式 public virtual ThreadData * start (int Type) 。
函式 public virtual ThreadData * start (int Type,char * arguments) 。
函式 public virtual ThreadData * start (int Type,ThreadFunction ExternalThread) 。
函式 public virtual void quit (void) 。
函式 public virtual void suspend (void) 。
函式 public virtual void resume (void) 。
函式 public virtual void terminate (void) 。
函式 public virtual void cleanup (void) 。
函式 public virtual bool proceed (void) 。
函式 public virtual bool finalize (int interval = 20) 。
函式 public virtual int exit (int exitcode) 。
函式 public void actualRun (void) 。
函式 public void actualRun (int Type,ThreadData * data) 。
函式 public void actualJoin (void) 。
函式 public Id (void) 。
函式 protected virtual void ThreadEvent (void) 。
函式 protected virtual void run (void) 。
函式 protected virtual void run (int Type,ThreadData * Data) 。
函式 protected virtual bool detection (void) 。
函式 protected virtual bool recycle (void) 。
函式 protected virtual void DeleteThread (ThreadData * Data) 。
函式 private static unsigned int SingleThread (LPVOID arg) 。
函式 private static unsigned int MultiThread (LPVOID arg) 。
函式 private static void * SingleThread (void * arg) 。
函式 private static void * MultiThread (void * arg) 。

建議

。

C++定義


class Thread
{
  public:

    int                     running     ;
    int                     StackSize   ;
    bool                    Reservation ; // STACK_SIZE_PARAM_IS_A_RESERVATION ;
    ThreadData              Data        ;
    std::list<ThreadData *> AllThreads  ;

    explicit  Thread                  (int stackSize,bool reservation) ;
    explicit  Thread                  (void) ;
    virtual ~ Thread                  (void) ;

    int                   setPriority (int priority) ;

    virtual void          start       (void) ;
    virtual ThreadData  * start       (int Type) ;
    virtual ThreadData  * start       (int Type,char * arguments) ;
    virtual ThreadData  * start       (int Type,ThreadFunction ExternalThread) ;
    virtual void          quit        (void) ;
    virtual void          suspend     (void) ;
    virtual void          resume      (void) ;
    virtual void          terminate   (void) ;
    virtual void          cleanup     (void) ;
    virtual bool          proceed     (void) ;
    virtual bool          finalize    (int interval = 20) ;

    virtual int           exit        (int exitcode) ;

    void                  actualRun   (void) ;
    void                  actualRun   (int Type,ThreadData * data) ;
    void                  actualJoin  (void) ;

    #if defined(WIN32) || defined(_WIN32)
    HANDLE                Id          (void) ;
    #else
    pthread_t             Id          (void) ;
    #endif

  protected:

    virtual void         ThreadEvent  (void) ;
    virtual void         run          (void) ;
    virtual void         run          (int Type,ThreadData * Data) ;

    virtual bool         detection    (void) ;
    virtual bool         recycle      (void) ;

    virtual void         DeleteThread (ThreadData * Data) ;

  private:

    #if defined(WIN32) || defined(_WIN32)
    static unsigned int  SingleThread (LPVOID arg) ;
    static unsigned int  MultiThread  (LPVOID arg) ;
    #else
    static void *        SingleThread (void * arg) ;
    static void *        MultiThread  (void * arg) ;
    #endif

};


範例