thread.h

来自「监视CPU使用率的历史情况,个位可以下载后测试测试」· C头文件 代码 · 共 45 行

H
45
字号
//This piece of code has been written in University of Hull by 
//Warren Viant then Head of Department
//in  Department of Computer Science
//Some alteration have been made by me  

#pragma once
#include <windows.h>
#include <process.h>    /* _beginthread, _endthread */
#include <stddef.h>
#include <stdlib.h>

class Thread
{
private:
	HANDLE _hThread;	
	bool _terminate;
	bool _isRunning;

	static unsigned __stdcall threadFunc(void *param) {
		if (param)
			return ((Thread*)param)->run();
		return 1;  // Return error
	}

public:
	Thread() : _hThread(0), _terminate(false) {}
	virtual ~Thread() {}

	void terminate() { _terminate = true; _isRunning = false;  CloseHandle(_hThread);
	_hThread=0; }
	bool isTerminated() const { return _terminate; }

	bool isThreadRunning()const{ return _isRunning ; }

	void reset() { _terminate = false; _isRunning = false ;}

	void SetRunningStatus() { _isRunning = true ;}

	HANDLE start();

	void waitForTermination();

	virtual int run() = 0;
};

⌨️ 快捷键说明

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