sleep-MFC里的线程内Sleep()不执行???

问题描述

MFC里的线程内Sleep()不执行???

void CAaaDlg::OnButton1()
{
// TODO: Add your control notification handler code here
m_a=0;
SetTimer(1,500,NULL);

}

void CAaaDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData(TRUE);
m_a=m_a+1;
Info.a=m_a;
m_b=Info.b;
pThread=AfxBeginThread(ThreadFunc,&Info);
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}

UINT CAaaDlg::ThreadFunc(LPVOID lParam)
{
int d;
ThreadInfo* pInfo=(ThreadInfo*)lParam;
Sleep(2000);
d=pInfo->a;
pInfo->b=d;
return 0;
}

然后结构体
struct ThreadInfo
{
int a;
int b;
}Info;
代码是这样的,本意是编辑框a里的数每隔5传一次给编辑框b,但为什么只做了一次后,之后再循环,线程里的sleep()不起作用了????

解决方案

SetTimer中参数是500,应该是5000吧

解决方案二:

我想要a每500ms加1次啊

解决方案三:

我也遇到这个问题了。查了MSDN,发现Sleep()这个函数是会让线程挂起的

时间: 2024-08-12 23:23:10

sleep-MFC里的线程内Sleep()不执行???的相关文章

MFC 多线程及线程同步

一.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等.用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等.但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务. 在MFC中,一般用全局函数Afx

关于线程内创建socket create函数返回空的情况。。。。

问题描述 关于线程内创建socket create函数返回空的情况.... 解决方案 你只是new了一个CSocket,m_hSocket有值了,但是没有看到你代码里有create的调用,create创建的代码写在哪里?

mfc 里用addnew()向mysql表中添加记录时有时在前面,有时在后面,求解啊

问题描述 mfc 里用addnew()向mysql表中添加记录时有时在前面,有时在后面,求解啊 mfc 里用addnew()向mysql表中添加记录时有时在前面,有时在后面,求解啊!! 解决方案 直接用SQL语句控制记录. 解决方案二: 文档 数独求解"> 解决方案三: 我是这样插入的

c++-【OpenCv&MFC】MFC中用子线程读取摄像头图像到Picture Control的问题~~~

问题描述 [OpenCv&MFC]MFC中用子线程读取摄像头图像到Picture Control的问题~~~ 如题,我想在程序中同时读取多个摄像头的数据到不同的PictureControl中,每个摄像头的读取工作都分别放在一个新的线程中执行,需要怎么实现?? 求各路大神帮忙写个Demo供学习学习~~~或者不行的话提供个思路也行~~~ 解决方案 把摄像头IP 和 PictureControl ID 还有主窗口句柄 封装到一个结构体,把这个参数传到你的多线程函数里面就可以为所欲为了 解决方案二: O

vc++-MFC里如何判断控件失去了焦点

问题描述 MFC里如何判断控件失去了焦点 我想在一个编辑框失去焦点时判断输入的是否正确,请问该如何判断失去了焦点? 解决方案 不需要自己写,直接用ddv/ddxhttp://blog.csdn.net/laogaoav/article/details/20764231http://blog.sina.com.cn/s/blog_6c8fad9f01011yxg.htmlhttp://blog.csdn.net/zhangyang0402/article/details/3948144 解决方案二

mfc求助-我是新手,MFC里edit Control控件怎么用

问题描述 我是新手,MFC里edit Control控件怎么用 怎么用edit Control输出?网上查的没看懂,谁能帮忙详细讲一讲怎么用?最好能有实例讲一下,谢谢 解决方案 在vs左边展开文件视图,找到对话框,找到你的对话框 然后从工具箱中拖动一个编辑框到你的界面上 ctrl+c调出class wizard,映射一个cstring的成员变量给它. 然后在你的代码中直接用: 比如 updatedata(); cstring str = m_edit1; 解决方案二: MFC中VALUE和CON

多线程-java相同线程,不同方法线程内传值问题

问题描述 java相同线程,不同方法线程内传值问题 大家好,我想请问一个问题,比如 class A{ new Thread(() -> { int a = 1; B b = new B(); b.invokeB(a); }); } class B{ public void invokeB(int a){ C c = new C(); c.invokeC(); } } class C{ public void invokeC(){ //这里我想用a的值,由于某些原因,不能直接把a传过来,听说用Th

qt-QT线程内调用外部函数发送信号是否有正确?多线程调用外部函数需要注意哪些问题?

问题描述 QT线程内调用外部函数发送信号是否有正确?多线程调用外部函数需要注意哪些问题? 大家好,我在QT多线程编程时,在线程内部调用了一个外部函数,外部函数中使用了emit来发送信号,请问这样是否会存在问题?另外,在线程中调用外部函数时需要注意哪些问题? 解决方案 我编写的代码大概如下: class myThread:public QThread; class DeviceScaner:public QObject { Q_OBJECT public: DeviceScaner(); ~Dev

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(8)-DbSession线程内唯一

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(8)-DbSession线程内唯一 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装 前言:通过上篇博客我们完成了对DbSession的代码编写,DbSession就相