C++ 线程(一)
2015-07-24 13:50
435 查看
#include <process.h>
#include <iostream>
#include <windows.h>
using std::cin;
using std::cout;
using std::endl;
typedef void *HANDLE;
class Thread
{
public:
void start();
virtual void run();
HANDLE getThread();
private:
HANDLE hThread;
static void agent(void *p);
};
void Thread::start()
{
cout << "hello world" <<endl;
hThread =(HANDLE)_beginthread(agent, 0, (void *)this);
}
void Thread::run()
{
cout << "Base Thread" << endl;
}
void Thread::agent(void *p)
{
Thread *agt = (Thread *)p;
agt->run();
}
HANDLE Thread::getThread()
{
return hThread;
}
class DerivedThread: public Thread
{
public:
void run();
};
void DerivedThread::run()
{
cout << "Derived Thread" << endl;
}
int main(int argc, char *argv[])
{
DerivedThread *dt = new DerivedThread();
dt->start();
WaitForSingleObject(dt->getThread(), INFINITE);
}
编译器设置步骤如下: 工程 → 属性 →
C/C++
→ 分类:Code Generation
Use run-time library
debug
下选择
debug multithreaded
release
下选择
multithreaded。
#include <iostream>
#include <windows.h>
using std::cin;
using std::cout;
using std::endl;
typedef void *HANDLE;
class Thread
{
public:
void start();
virtual void run();
HANDLE getThread();
private:
HANDLE hThread;
static void agent(void *p);
};
void Thread::start()
{
cout << "hello world" <<endl;
hThread =(HANDLE)_beginthread(agent, 0, (void *)this);
}
void Thread::run()
{
cout << "Base Thread" << endl;
}
void Thread::agent(void *p)
{
Thread *agt = (Thread *)p;
agt->run();
}
HANDLE Thread::getThread()
{
return hThread;
}
class DerivedThread: public Thread
{
public:
void run();
};
void DerivedThread::run()
{
cout << "Derived Thread" << endl;
}
int main(int argc, char *argv[])
{
DerivedThread *dt = new DerivedThread();
dt->start();
WaitForSingleObject(dt->getThread(), INFINITE);
}
编译器设置步骤如下: 工程 → 属性 →
C/C++
→ 分类:Code Generation
Use run-time library
debug
下选择
debug multithreaded
release
下选择
multithreaded。
相关文章推荐
- c语言 curl
- 【C++】编写一个智能指针类。
- 北航13年机试--十进制数字的科学计数法表示的C语言实现
- PAT (Basic Level) Practise (中文)1015. 德才论 (25) C语言
- 一个简单的多线程题目
- 黑马程序员-----C语言学习之数组与指针
- C++ 文件操作结构体SHFILEOPSTRUCT
- [LeetCode] Search a 2D Matrix II
- C++ 自定义简单String类
- 用C语言一次性读取多个文件,大量文件
- C++ RTTI介绍
- C++中替代sprintf的std::ostringstream输出流详解
- 提取数字的每一位
- C++ char*,const char*,string的相互转换
- C++中wstring与string相互转化
- 02C语言指针
- 电力系统潮流计算程序实现C语言版(动态节点+稀疏技术)
- 一个URL编码和解码的C++类
- c++ 如何实现,readonly
- C++ 智能指针详解