多线程的创建例子
来源:互联网 发布:昆仑决 知乎 编辑:程序博客网 时间:2024/04/30 10:39
对创建多线程和理解多线程会有些帮助
CWinThread的问题
检举|2010-07-29 16:24sadfleg | 分类:C/C++| 浏览1767次
我想实现这样一个功能,用CWinThread开启一个console窗口和两个线程,线程1每5秒向console窗口写thread1(用printf),线程2每7秒向console窗口写thread2现在有几个问题 1. 如何开启一个console窗口,我现在是CWinThread *thread1 = new CWinThread(thread1,NULL);thread1 ->CreateThread(CREATE_NEW_CONSOLE,0,NULL);CREATE_NEW_CONSOLE 似乎并没有开启一个新的console窗口具体该怎么实现2.thread2如何得到thread1开启的窗口的输出流(应该是要这样吧)3.主线程如何终止 thread1程序的执行,依靠CWinThread *thread1指针 我看到有 thread1->SuspendThread() ,但没看到有 thread1->exitThread() 之类的啊 /**************************下面是部分源码,求好心人帮我完善下********************************/unsigned int thread1(void *param){while(1){Sleep(5000);printf("thread1\n");}return 0;}unsigned int thread2(void *param){CWinThread *t1 =(CWinThread *)param;//这里要怎样靠t1来重定向t2的输出流while(1){Sleep(7000);printf("thread2\n");}return 0;}void CTestApp::test()//这是主线程吗?????{CWinThread t1 = new CWinThread(thread1,NULL);CWinThread t1->CreateThread(CREATE_NEW_CONSOLE,0,NULL); //这里怎样开启一个console窗口CWinThread t2 = new CWinThread(thread2,(void *)&t1);CWinThread t2->CreateThread(CREATE_NEW_CONSOLE,0,NULL);Sleep(100000);//这里怎样结束t1,t2线程}我来帮他解答
提问者采纳
检举|2010-07-30 10:34
1,同样,你创建了窗口就必须显示窗口和更新窗口,不然窗口是不会出来的2,你用#include <iostream.h>包含输入输出流对象3,thread->ExitThread(...)来终止你的线程,ExitThread()函数是有的,其实,终止线程还有一个函数就是TerminateThread()函数,但是一般不用它,ExitThread()可以通知所有附属的这个进程的DLL停止工作,而TerminateThread()并不通知所属的DLL停止工作,这就会导致你的进程终止了,但是你的进程的DLL还在工作,就会出现错误。
- 多线程的创建例子
- linux创建、取消多线程的简单实用的模板例子
- 简单的多线程创建,执行,挂起,终止的例子
- Runnable接口创建多线程例子
- delphi中用api创建多线程的简单例子
- delphi多线程例子 采用createThread创建多线程
- 多线程的一个例子
- 多线程的一个例子
- 一道多线程的例子
- 多线程的例子
- 多线程的典型例子
- epoll多线程的例子
- 多线程的上手例子
- 创建进程的例子
- 创建数据库的例子
- .Net最简单的创建多线程主线程等待所有线程执行完成的例子
- 完成的多线程的例子
- 多线程编程的简单例子
- (转)基础总结篇之七:ContentProvider之telephony读写短消息
- 1514_Fake Tickets
- 创新or改进不足?
- NHibernate与Hibernate
- Java 中的数据类型总结
- 多线程的创建例子
- 着陆页优化:少即是多
- 挂载U盘
- SQL Server 视图创建
- Android SDK 模拟器 快捷键 (模拟 旋转屏幕 轨迹球等)
- Word中插入公式后行距变宽的解决
- [OpenGL ES 05]相对空间变换及颜色
- 页面载入动画(loading)
- 酒桌上IT笑话