社区
进程/线程/DLL
帖子详情
动态数组怎么成多线程了???
yueyangmeng22222
2011-06-07 09:50:16
我用Array写的函数,遍历后想按顺序一个一个执行每个功能,如点唱歌,跳舞,唱歌,。。。就执行唱歌,跳舞,唱歌。。。
用消息框实验的时候会一个一个执行,但换成函数后变了。
变为执行唱歌的同时会跳舞,好像莫名地成了多线程了。。。
怎么回事啊???我该怎么办???有没有小例子,我看看。好像要用多线程,我不熟。。。有没有代码??感激不尽。。
...全文
151
14
打赏
收藏
动态数组怎么成多线程了???
我用Array写的函数,遍历后想按顺序一个一个执行每个功能,如点唱歌,跳舞,唱歌,。。。就执行唱歌,跳舞,唱歌。。。 用消息框实验的时候会一个一个执行,但换成函数后变了。 变为执行唱歌的同时会跳舞,好像莫名地成了多线程了。。。 怎么回事啊???我该怎么办???有没有小例子,我看看。好像要用多线程,我不熟。。。有没有代码??感激不尽。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
是在不行就用事件吧
JAVA
多线程
精讲下
本课程是《零基础学Java》系列课程中的"
多线程
"相关课程.授课形式延续了之前课程的授课风格。内容细腻、详尽,由浅入深!通过本门课程的学习你可以深刻理解Java
多线程
的原理及实现运行机制,深刻学习
多线程
的生命...
c++
多线程
处理数组
定义一个大小为1000 * 1000 * 1000的数组,分别用单线程的方法和
多线程
的方法给数组赋值,并计算两种方法的耗时。 _beginthread函数用于创建线程; _endthread函数用于结束线程; WaitForSingleObject函数等待线程...
iOS
多线程
安全数组
iOS-SDK只提供了非线程安全的数组。如果要
多线程
并发的使用一个数组对象就必须要加锁。在
多线程
下使数组安全,就是通过给数组的访问和修改添加同步限制,使数组
多线程
安全。
ArrayList add() 数组指针越界?原来是线程同步问题
今天在看友盟控制台的时候发现一个崩溃,报错的是ArrayList add()数组指针越界??ArrayList不是动态扩容的...ArrayList在
多线程
调用Add()添加元素时的下标越界问题(java.lang.ArrayIndexOutOfBoundsException) 基...
并发编程基础之-如何用数组实现阻塞队列?
ArrayBlockingQueue顾名思义,是基于数组实现的阻塞队列,阻塞队列可以用于缓冲任务,实现生产者消费者模式,例如线程池中的工作队列。那么怎么才能用数组实现阻塞队列呢? 我们先从ArrayBlockingQueue的功能说起 ...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章