动态数组怎么成多线程了???

yueyangmeng22222 2011-06-07 09:50:16
我用Array写的函数,遍历后想按顺序一个一个执行每个功能,如点唱歌,跳舞,唱歌,。。。就执行唱歌,跳舞,唱歌。。。

用消息框实验的时候会一个一个执行,但换成函数后变了。

变为执行唱歌的同时会跳舞,好像莫名地成了多线程了。。。
怎么回事啊???我该怎么办???有没有小例子,我看看。好像要用多线程,我不熟。。。有没有代码??感激不尽。。
...全文
151 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
superhanxin5 2011-06-09
  • 打赏
  • 举报
回复
在函数里面使用事件去设置。你可以找找CEvent的使用,或者使用互斥。
看哪个符合你的需求了
superhanxin5 2011-06-09
  • 打赏
  • 举报
回复
是你的代码没有等待的顺次执行下去了吧,这样表现的就跟同时执行似的。
zjut018 2011-06-09
  • 打赏
  • 举报
回复
唱歌,跳舞,运动,在执行这几个东西之前先判断下有没有东西在执行的东西?
yueyangmeng22222 2011-06-07
  • 打赏
  • 举报
回复
怎么改成阻塞形式?????
oyljerry 2011-06-07
  • 打赏
  • 举报
回复
你每一个函数,都要自己改成阻塞形式,也就是要让它执行完了才能返回.
yueyangmeng22222 2011-06-07
  • 打赏
  • 举报
回复
没有啊,没用多线程,遍历数组后怎么同时执行了???不是应该一个一个的吗?
kyotrue 2011-06-07
  • 打赏
  • 举报
回复
没搞懂。。。你肯定是多线程使用了吧
yueyangmeng22222 2011-06-07
  • 打赏
  • 举报
回复
对,消息框会阻止消息传递,普通函数没有。。。怎么让普通函数也阻止??

我函数功能是三个按钮, 各自代表功能,如唱歌,跳舞,运动。。我的本意是随便点几个,如先点跳舞,再点唱歌,再点运动,再点唱歌,就会按点的顺序执行。。用的数组操作,本来用消息框的时候可以,但换成我的函数便会同时执行了!!!!
else if( 0 == strcmp(args,"front") )
{


int actionNum = 1; //假设这个功能为1,把第一个功能加进数组
actionArray.Add(actionNum);

str_click+="1";
m_zidingyi=str_click;
UpdateData(FALSE);

}


else if( 0 == strcmp(args,"behind") )
{


int actionNum = 2; //假设这个功能为2,加第二个
actionArray.Add(actionNum);

str_click+="2";
m_zidingyi=str_click;
UpdateData(FALSE);

}
else if( 0 == strcmp(args,"left") )////加第三个,省去不写。。。
{


for(int iActionNum = 0; iActionNum < actionArray.GetCount(); iActionNum++)
{
switch(actionArray.GetAt(iActionNum))//遍历数组,执行功能
{
case 1:


speakFlag = true;
Speak("你的"); //第一个功能函数
speakFlag = false;
/////////////////////

/////////////////////////
break;


case 2:

speakFlag = true;
Speak("我的"); //////////////第二个功能函数
speakFlag = false;
break;

case 3:
speakFlag = true;
Speak("我的"); ////第三个功能函数
speakFlag = false;
break;


}
}











}






帝国队长 2011-06-07
  • 打赏
  • 举报
回复
可以像楼上一样,或具体操作时加临界也可以呀
kuba120 2011-06-07
  • 打赏
  • 举报
回复
可以自己重写这个Array在里边添加临界
bdmh 2011-06-07
  • 打赏
  • 举报
回复
说的什么,你怎么干的,用了异步?消息框会阻止消息传递的,用普通函数就不一样了
kusey 2011-06-07
  • 打赏
  • 举报
回复
说得不明白,贴代码
西湖秀才 2011-06-07
  • 打赏
  • 举报
回复
是在不行就用事件吧

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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