- 浏览: 153217 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
EclipseEye:
fair_jm 写道不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程 -
fair_jm:
不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程
IProgressMonitor:通过这个接口控制进度条的现实
ProgressMonitorDialog:进度对话框
IRunnableWithProgress和java的标准接口Runnable实现多线程的任务运行非常相似,只有把任务放到run方法中就可以了,最重要的是可以调用monitor来对当前进度显示进行控制。下面就是一个完整的进度条演示例子:
===========================================
除了ProgressMonitorDialog外,在Eclipse中还可以通过其他方式显示进度,比如IWorkbenchWindow 通过在工作台窗口的状态行中显示进度来实现此界面,WizardDialog在向导状态行中显示长时间运行的操作。
============================================
除了自己构造进度对话框显示进度以外,我们可以调用平台的进度服务,而Eclipse也推荐使用平台的进度服务,这将使得所有的插件都有一致的进度表示。平台的进度服务定义为接口IProgressService,可以通过PlatformUI.getWorkbench().getProgressService方法来调用系统的进度服务,如下:
==================================
在调用Eclipse的方法或者第三方插件的一些方法的时候,有的方法要求传递一个实现了IProgressMonitor的实例进去,如果我们无法传递或者无需传递的时候,最好不要传递null值进去,而是要传递NullProgressMonitor的一个实例进去,此类位于org.eclipse.core.runtime包下,它实现了IProgressMonitor接口,但是所有的方法都是给的空实现,传递此类就避免了被调用方法没有进行空指针判断而造成的麻烦。
=====
.....
ProgressMonitorDialog:进度对话框
IRunnableWithProgress和java的标准接口Runnable实现多线程的任务运行非常相似,只有把任务放到run方法中就可以了,最重要的是可以调用monitor来对当前进度显示进行控制。下面就是一个完整的进度条演示例子:
ProgressMonitorDialog dialog=new ProgressMonitorDialog(shell); dialog.run(true,true,new IRunnableWithProgress(){ public void run(IProgressMonitor monitor) throws InvocationTargetException,InterruptedException{ final int ticks=10000; monitor.beginTask("Start...",ticks); try{ for(int i=0;i<ticks;i++){ if(monitor.isCanceled()){ throw new InterruptedException(); } monitor.worked(1); }finally{ monitor.done(); } } } });
===========================================
除了ProgressMonitorDialog外,在Eclipse中还可以通过其他方式显示进度,比如IWorkbenchWindow 通过在工作台窗口的状态行中显示进度来实现此界面,WizardDialog在向导状态行中显示长时间运行的操作。
============================================
除了自己构造进度对话框显示进度以外,我们可以调用平台的进度服务,而Eclipse也推荐使用平台的进度服务,这将使得所有的插件都有一致的进度表示。平台的进度服务定义为接口IProgressService,可以通过PlatformUI.getWorkbench().getProgressService方法来调用系统的进度服务,如下:
IProgressService progressService =PlatformUI.getWorkbench().getProgressService(); progressService.busyCursorWhile(new IRunnableWithProgress(){ pulbic void run(IProgressMonitor monitor){ //.... } });
==================================
在调用Eclipse的方法或者第三方插件的一些方法的时候,有的方法要求传递一个实现了IProgressMonitor的实例进去,如果我们无法传递或者无需传递的时候,最好不要传递null值进去,而是要传递NullProgressMonitor的一个实例进去,此类位于org.eclipse.core.runtime包下,它实现了IProgressMonitor接口,但是所有的方法都是给的空实现,传递此类就避免了被调用方法没有进行空指针判断而造成的麻烦。
=====
.....
发表评论
-
再说SWT中的滚动面板ScrolledComposite实现
2013-06-19 15:43 2377记得以前写过一篇关于滚动面板的文章 SWT中 Scrolle ... -
OSGi参考资料
2013-04-18 01:11 707基于 OSGi 的面向服务的组件编程 探索 OSGi 框架的组 ... -
CDT(编辑、调试)参考资料
2013-04-17 02:15 1139CDT编辑器 --------- 构建基于 CDT 的编辑器, ... -
Workspace Resource框架专题(3)处理工作空间资源更改事件
2013-04-17 01:44 14173 处理工作空间资源更改事件 工作空间API允许工具对它 ... -
Workspace Resource框架专题(2)workspace 框架API
2013-04-17 01:27 15232 工作空间API 本 ... -
Workspace Resource框架专题(1)Resource的概念
2013-04-17 01:12 14331 Resource的概念 如 ... -
如何恢复断点及Marker
2013-03-05 00:41 0如何恢复断点及Marker -
深入Workbench框架
2013-03-01 02:10 1791深入Workbench框架(结合UIPersistent) 1 ... -
Eclipse插件开发中的Action
2013-02-24 23:10 2046插入点用来定义菜单出 ... -
Eclipse开发中编辑器(Editors)和视图(View)总结
2013-02-24 22:58 29581.视图(Views) 视图( ... -
SWT/JFace专题 --- 对话框向导(Dialogs Wizards)
2013-02-24 22:42 2301对话框向导(Dialogs Wizar ... -
SWT/JFace专题 --- JFace
2013-02-24 22:37 1713JFace JFace是基于SWT的一套图形工具包,它没有为 ... -
SWT/JFace专题 --- SWT中Display和多线程
2013-02-24 15:25 3297Display 1.Display 的创建 一个SWT程序 ... -
SWT/JFace专题 --- SWT API 结构
2013-02-23 18:31 1113SWT API 结构 1.布局类(l ... -
Eclipse启动过程(源码级剖析)
2013-02-20 03:24 3459双击eclipse安装目录下的eclipse.exe运行后,会 ... -
SWT/JFace专题 --- SWT结构浅析
2013-02-23 17:02 1053SWT技术是一套基于Java的 ... -
Eclipse平台体系结构
2013-02-21 23:56 19871.Eclipse平台体系结构 1 ... -
RCP平台架构
2013-02-23 14:11 1525RCP 富客户端通常是指具有独立用户界面的客户端程序。富客户 ... -
Ant构建脚本相关
2013-02-18 01:26 0Ant构建脚本相关 -
CDT源码架构研究
2013-02-18 01:24 0CDT源码架构研究
相关推荐
标题所提及的“Quartz3.0定时任务学习之异步调度器.zip”表明本文档围绕Quartz 3.0版本的定时任务管理功能,...通过本文档,用户将能够掌握如何在Quartz中实现高效的异步作业调度,从而优化应用程序的性能和可靠性。
具有异步作业调度的可扩展后端,可管理一切@dsckiet 功能 基于用户身份验证和角色的仪表板 参与者身份验证和仪表板 CRUD 事件 活动参与 活动出席 活动证书 活动反馈 电子邮件系统 团队进度/状态管理 应用...
在操作系统中,作业调度是一项关键功能,它决定了如何有效地在多个任务之间分配CPU时间,以达到系统的最佳性能和响应速度。在这个主题中,我们将深入探讨用C语言、C#和VB(Visual Basic)这三种编程语言实现作业调度...
"job-scheduler:异步HTTP作业调度程序" 这个标题表明我们正在讨论一个专门用于作业调度的系统,它基于异步HTTP通信。这里的“作业”指的是预定义的任务或操作,而“调度程序”是管理这些任务执行时间的组件。异步...
批处理系统中的作业调度是操作系统核心功能之一,它主要负责管理系统的资源,高效地安排大量后台作业的执行顺序。在批处理系统中,用户通常不直接与计算机交互,而是提交一组作业(例如,一系列需要执行的命令或程序...
3. 测试与调试:由于作业调度的异步特性,测试和调试可能较为复杂,需要模拟不同条件来验证作业的正确性。 综上所述,"android模拟作业调度.rar"可能包含了如何使用JobScheduler、JobService以及相关组件来创建和...
在Go语言中,开发服务器应用是一项常见的任务,而"Go-Workq-Go"则是一个专为作业调度设计的服务器框架。这个框架充分利用了Go语言的并发特性,为开发者提供了高效且灵活的作业处理能力。在本文中,我们将深入探讨Go-...
在这个话题中,我们将深入探讨作业调度的基本概念、类型以及C#编程语言在实现作业调度中的应用。 作业调度是操作系统内核的一部分,主要目标是决定哪些作业(或进程)应该被赋予CPU执行权,以及何时切换到另一个...
操作系统是计算机系统的核心组成部分,它负责管理系统的硬件资源...在C#这样的高级语言中,尽管不能直接控制底层的作业调度,但我们可以通过调整线程的优先级、合理安排任务以及利用异步编程等技术,间接影响调度效果。
Quartz是一个功能强大的开源作业调度库,它提供了全面的API用于在Java应用程序中创建、管理和调度任务。随着版本的迭代更新,Quartz 3.0引入了许多新特性和改进,使得它更加易于使用和集成。在这个教程中,我们将...
`Go-Gores` 是一个用Go语言编写的高效、轻量级的异步作业执行系统,它利用了Redis作为中间件来实现任务的调度与分发。设计的目标是为分布式系统提供可靠且灵活的定时任务解决方案,支持高并发和大规模数据处理场景。...
- **异步作业调度**:在多线程环境下,正确管理和调度任务是非常重要的。文章讨论了如何在Eclipse中实现异步作业的调度。 - **对话框的使用**:文章介绍了多种类型的对话框,包括信息提示框、值输入对话框、错误...
8. **The Schwartz**:这是一种可靠的异步作业调度系统,它能够处理复杂的任务流程,并确保作业的正确执行。LiveJournal通过The Schwartz来管理各种定时任务和异步操作。 9. **djabberd**:这是一个高度可扩展的...
总之,"dispatch:调度-内存中异步作业处理"涉及的是在Crystal语言环境下,如何有效地使用Job队列和调度器来管理和执行内存中的异步任务,以提升程序的并发性和性能。通过深入理解和实践,开发者能够构建出高效且可...
文件还详细介绍了SWT/JFace的使用,包括资源管理、异步作业调度、对话框的创建以及Eclipse资源API的使用。这些知识点对于深入理解和掌握Eclipse插件开发至关重要。 - **SWT/JFace**:提供了创建GUI的底层API,包括...
"Python-MLQ机器学习作业的异步队列"是一个专门针对机器学习任务设计的异步队列系统,名为MLQ。这个框架旨在优化worker处理长时间运行的作业,通过将计算密集型任务分发到其他计算资源,如多核CPU或分布式系统,以...
在作业调度算法模拟中,我们讨论了进程的特征,包括结构特征、动态性、并发性、独立性、异步性等。我们还讨论了在 Linux 中如何设置前、后台命令和程序的执行,了解了符号&的作用。 三、Linux 文件操作与内存管理...
在这个项目中,“基于C++&QT可视化模拟操作系统作业调度”是一个典型的实例,它涵盖了多方面的知识点。 首先,C++是面向对象的编程语言,它的核心特性包括封装、继承和多态性。在操作系统课程设计中,C++被用于实现...