macosthread.hpp

来自「"More for C++" is a class library that p」· HPP 代码 · 共 91 行

HPP
91
字号
////  This file is part of the "More for C++" library////  Copyright (c) 1999-2003 by Thorsten Goertz (thorsten@morefor.org)////  The "More for C++" library is free software; you can redistribute it and/or//  modify it under the terms of the license that comes with this package.////  Read "license.txt" for more details.////  THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED//  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES//  OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.////////////////////////////////////////////////////////////////////////////////#ifndef MACOSTHREAD_HPP#define MACOSTHREAD_HPP//////////////////////////////////////////////////////////////////////////////////  "MacHeadersPPC" must have been included!#include <more/core/finalizable.hpp>#include <more/os/thread.hpp>#include <list>using namespace more::core;using namespace more::os;using namespace std;////////////////////////////////////////////////////////////////////////////////namespace more{  namespace macos  {    class MacOSThread: public Thread, public Finalizable    {      public:      static void initialize( );      static void joinRemainingMacOSThreads( );      MacOSThread( );      virtual void execute( const p<Runnable>& pRunnable );      virtual void terminate( );      virtual void join( );      virtual void sleep( long nMilliseconds );      virtual bool schedule( );      virtual  void finalize  ( );     private:      class MacOSThreadController: public Thread::Controller      {        public:        MacOSThreadController( const p<MacOSThread>& pMacOSThread );        virtual void sleep( long nMilliseconds );        virtual bool schedule( );        private:        p<MacOSThread> m_pMacOSThread;      };      static pascal void* runRunnable( MacOSThread* pMacOSThread );      void restartJoiningThreads( );      static ThreadID    nMainThreadId;      static size_t    nNoOfRemainingThreads;      p<Runnable>      m_pRunnable;      ThreadID      m_nThreadId;      UInt32        m_nLastTick;      bool        m_bShouldTerminate;      list<ThreadID>    m_joiningThreads;    };  }}////////////////////////////////////////////////////////////////////////////////#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?