线程问题为什么结果老变

chelp 2011-10-12 01:37:26
#include "stdafx.h"
#include"windows.h"
#include"iostream.h"
DWORD WINAPI P1(LPVOID)
{cout<<"fffff"<<endl;
return 0;}
DWORD WINAPI P2(LPVOID)
{cout<<"ggggg"<<endl;return 1;}


int main(int argc, char* argv[])
{DWORD G;
HANDLE h[2];

h[0] = CreateThread(NULL,0,P1,NULL,0,&G);
h[1] = CreateThread(NULL,0,P2,NULL,0,NULL);
int a=90;
cout<<"vvvvvvv"<<endl;
WaitForSingleObject(h[0],INFINITE);


reurn 0;}

...全文
176 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-10-18
  • 打赏
  • 举报
回复
计算机操作系统~~~
孟祥月 2011-10-15
  • 打赏
  • 举报
回复
多线程的特性 一般情况下多线程的测试都是结果不可再现的
chelp 2011-10-15
  • 打赏
  • 举报
回复
其实我很想给你们分数
qing_ping 2011-10-14
  • 打赏
  • 举报
回复
先看看调度算法吧,
wo_de_fen_dou 2011-10-14
  • 打赏
  • 举报
回复
线程本来就是走走停停的 是并发执行 并非顺序执行 比如一个线程在执行过程中要调用打印机 这时候 这个线程就要先让出CPU 即先停下来 让其他线程先执行 等打印完以后再重新申请CPU
chelp 2011-10-14
  • 打赏
  • 举报
回复
期待大侠
chelp 2011-10-14
  • 打赏
  • 举报
回复
我不想让它有序,我就想问问1、为什么一个线程要多次装进内存执行!!!
2、再一个如果DWORD WINAPI P1(LPVOID)
{cout<<"fffff"<<endl;while(1){}}
是不是非要它执行完一个函数体再装入吗?
谢谢你的楼上回答,我看了侯捷的win32
Roy_Smiling 2011-10-14
  • 打赏
  • 举报
回复
其实我是来打酱油的饿哦~
myhaikuotiankong 2011-10-14
  • 打赏
  • 举报
回复
WaitForSingleObject(h[0],INFINITE);

LZ可以仔细研究一下这个函数,用他可以做到有序执行的。。。
chelp 2011-10-14
  • 打赏
  • 举报
回复
谁来看看啊!
chelp 2011-10-14
  • 打赏
  • 举报
回复
再一个如果DWORD WINAPI P1(LPVOID)
{cout<<"fffff"<<endl;while(1){}}
是不是非要它执行完一个函数体再装入吗?
chelp 2011-10-14
  • 打赏
  • 举报
回复
哎!期望大侠啊!多线程把头都弄大了,看操作系统也不懂,为什么一个线程要多次装进内存执行!!!
AndyZhang 2011-10-14
  • 打赏
  • 举报
回复
第一个参数是句柄
chelp 2011-10-14
  • 打赏
  • 举报
回复
自己顶一下啊!是没有做同步!但是怎么会出现ffff输出几次啊?多线程装内存进去不是一次吗?
再有如果该线程没执行完它还再次执行吗?
only_lonely 2011-10-12
  • 打赏
  • 举报
回复
需要显式的同步,否则就是操作系统进行调度,其结果在应用程序范围内是无知的。
web_999 2011-10-12
  • 打赏
  • 举报
回复
应该是这样
ithzhang 2011-10-12
  • 打赏
  • 举报
回复
线程问题结果很难预测的。除非同步了。
一叶之舟 2011-10-12
  • 打赏
  • 举报
回复
这本来就是多线程的特性。
PG 2011-10-12
  • 打赏
  • 举报
回复
MSDN
chelp 2011-10-12
  • 打赏
  • 举报
回复
WaitForSingleObject(h[0],INFINITE);

第一个参数是表示什么啊?
不清楚
这个麻烦讲讲

加载更多回复(3)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧