pthread.h

来自「日志类封装日志类封装日志类封装日志类封装日志类封装日志类封装」· C头文件 代码 · 共 72 行

H
72
字号
/*============================================================================. | Copyright (C) 2006 Gareth Buxton                                           | |----------------------------------------------------------------------------| | LogPlusPlus is free software; you can redistribute it and/or               | | modify it under the terms of the GNU Lesser General Public                 | | License as published by the Free Software Foundation; either               | | version 2.1 of the License, or (at your option) any later version.         | |                                                                            | | LogPlusPlus is distributed in the hope that it will be useful,             | | but WITHOUT ANY WARRANTY; without even the implied warranty of             | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU          | | Lesser General Public License for more details.                            | |                                                                            | | You should have received a copy of the GNU Lesser General Public           | | License along with this library; if not, write to the Free Software        | | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | '============================================================================*/#ifndef LPP_PTHREAD_H_#define LPP_PTHREAD_H_#include <liblpp/Types.h>#include <liblpp/Thread.h>#include <pthread.h>#include <iostream>//=============================================================================LPP_NAMESPACE_BEGIN//=============================================================================void* startPThread(void*);class PThread: public Thread{	friend void* startPThread(void*);	private:	pthread_cond_t cond;	pthread_mutex_t mutex;	pthread_t thread;	int id;	public:	PThread();	PThread(Runnable& runnable);	virtual ~PThread();		void lock();	void unlock();	void yield();	void join();	void start();	void stop();		void wait(); // condition variable	void signal(); // condition wakeup};class PThreadMill: public ThreadMill{public:	Thread* create(Runnable& runnable) const;};//=============================================================================LPP_NAMESPACE_END//=============================================================================#endif //LPP_PTHREAD_H_

⌨️ 快捷键说明

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