执行完毕再往下执行?
左直拳
我写了一段代码,如下:
Busy();
//进行大工作量,耗时的操作
BigSetup();
Free();
其中,函数Busy()的作用是将鼠标光标设为代表等待的沙漏形状,并且显示一幅忙碌的图片,而函数Free()则正好相反,将光标设回默认的箭头状,并显示清闲的图片:
private void Busy()
{
imgEpass.Image = mImgBusy;
this.Cursor = Cursors.WaitCursor;
}
private void Free()
{
imgEpass.Image = mImgFree;
this.Cursor = Cursors.Default;
}
可是,运行的结果与预期有很大落差:图片没有改变,或者说,没有单方面改变现状。
怎会这样。难道系统没等Busy()这个函数执行完,就呼啦啦(大长今?)地一直往前冲?
查帮助,上网搜索,同步、异步、线程、阻塞、……,铺天盖地,头昏脑胀,乱七八糟,却一无所获。我还想到了用Sleep(),死未。
观察程序运行,鼠标的光标确实改变了,而改变鼠标形状的语句放在改变图片之后,也就是说,图片也应该改变了,只是未反映出来。可能是没重绘吧。
修改了一下Busy()和Free()
private void Busy()
{
imgEpass.Image = mImgBusy;
imgEpass.Refresh();
this.Cursor = Cursors.WaitCursor;
}
private void Free()
{
imgEpass.Image = mImgFree;
imgEpass.Refresh();
this.Cursor = Cursors.Default;
}
终于得到了我想要的。
分享到:
相关推荐
JAVA 主线程等待子线程执行完毕再执行 JAVA 中的线程控制是非常重要的一部分,而在实际开发中,我们经常会遇到需要主线程等待子线程执行完毕再执行的情况。这种情况下,我们可以使用两种方式来实现:主动式和被动式...
本项目“创建一个进程等这个进程执行完毕再继续往下执行”似乎是一个示例应用,它展示了如何在C++环境中实现这样的功能,并且能够隐藏DOS窗口,提供更友好的用户体验。 首先,我们来看`StdAfx.cpp`和`StdAfx.h`这两...
在编程领域,特别是涉及到操作系统级别的任务时,"创建一个进程等这个进程执行完毕再继续往下执行" 是一个常见的操作需求。在Windows系统中,这通常通过API函数来实现,例如`CreateProcess`函数。本话题将深入探讨...
### 资源池等待所有线程执行完毕的方法 在多线程编程中,经常会遇到需要等待所有线程执行完毕的情况。例如,在一个基于线程池的应用程序中,可能需要确保所有的任务都已完成才能继续执行后续操作或者进行清理工作。...
在Linux系统中,Shell是用户与操作系统内核交互的接口,它允许用户通过命令行来执行各种操作。Shell程序设计,尤其是"shell脚本",是Linux程序设计的重要组成部分。本章将深入探讨如何利用shell命令进行高效的操作和...
4. 回调函数:回调函数是一种在主函数执行完毕后被调用的函数,常用于异步操作。在延时执行中,回调函数可以在每次延时结束后执行,处理一些后续任务。例如,你可能希望在每次跳转前执行一些清理工作,或者在延迟...
然而,在某些情况下,我们需要等待所有子线程执行完毕后再继续执行主线程的剩余动作。这时,我们可以使用 Java 提供的 CountDownLatch 类来实现这个功能。 CountDownLatch 是一个同步辅助类,它允许一个或多个线程...
在这个场景中,我们关注的是一个特定的多线程问题:A线程需要等待B线程和C线程执行完毕后再开始执行,同时避免A线程无休止地检查状态导致的CPU空耗。 首先,我们需要理解Java中线程间的协作机制。Java提供了多种...
总结来说,通过合理的线程同步和通信机制,我们可以在多线程环境下确保主程序在所有子线程执行完毕后再继续执行,并获取每个子线程的返回结果。这有助于优化程序性能,避免数据不一致,提升整体的并发处理能力。在...
在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...
3、 执行sql文件/service/script/update.sql(数据库假定为Oracle,连接信息任意),并判断 a) 如果执行成功,则执行另外一个文件/service/script/trigger.sql b) 如果执行失败,则将返回错误记录到/service/log/err...
【FFmpeg】SDL 音视频开发 ④ ( SDL 多线程 | SDL_Thread 结构体 | SDL_CreateThread 函数...2、SDL 等待线程执行完毕 - SDL_WaitThread 函数 三、SDL 线程代码示例 - 创建并等待线程执行完毕 1、代码示例 2、执行结果
当`main`函数执行完毕并返回一个整数值时,通常意味着整个程序的执行已经结束。然而,确实存在一种情况,即使`main`函数执行完毕,仍然可以执行一段预设的代码,这就是通过使用`atexit`函数。 `atexit`函数是一个...
// 在容器加载完毕后执行的操作 } } ``` 在上面的示例代码中,我们使用 @PostConstruct 注解标记了 init 方法,该方法将在容器加载完成后执行。 Spring Boot 框架提供了多种方式来执行容器加载完成后的特定操作,...
北京市法院执行案件办理流程与执行公开指南详细规定了执行案件从立案到执行完毕的各个环节。从承办人确定、执行通知、财产调查到财产控制等方面均有明确的操作指南。这些规定有助于提高执行效率,保护当事人的合法...
`Threading.start()`方法用于启动一个新的线程,而判断新线程是否执行完毕通常需要使用`Threading.Thread`的`join()`方法。在提供的实例中,用户自定义了一个名为`MyThread`的线程类,该类扩展了`threading.Thread`...
- **执行时间统计**:每个SQL语句执行完毕后,系统会自动记录并显示其执行时间,帮助用户快速了解每条SQL语句的性能表现。 **2. 受影响记录数统计** - 对于更新、插入或删除操作,工具会报告受影响的记录数。 - ...
本篇文章将深入探讨如何使用VBScript(Visual Basic Scripting Edition)来启动另一个应用程序并等待该应用程序执行完毕后再继续执行当前脚本的后续操作。这种需求在自动化测试、系统维护或批处理任务中非常常见。 ...
本示例将探讨如何在VBA中使用Shell函数来调用外部程序,并确保在该程序执行完毕后继续执行其他VBA代码。 标题"VBA示例之 求人不如自已动手 Shell调用的程序执行完成后再执行其它程序"揭示了我们主要要学习的是通过...
1、通过java调用Python命令执行datax任务调度 2、自动开始任务和调度结束关闭...3、如果我们在cmd使用命令调度,执行完毕后无法释放内存,会造成内存泄露不足,出现报错“Error occurred during initialization of VM”