知识大全 Eclipse客户端程序中多线程的使用[5]
Posted 知
篇首语:学如逆水行舟,不进则退。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Eclipse客户端程序中多线程的使用[5]相关的知识,希望对你有一定的参考价值。
Eclipse客户端程序中多线程的使用[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
针对相关联的Job统一进行处理 有时 我们需要对相关联的Job一起处理 例如需要同时取消这些Job 或者等待所有这些Job结束 这时我们可以使用Job Family 对于相关联的Job 我们可以将它们设置成同一个Job Family 我们需要重载Job的belongsTo方法以设置一个Job的Job Family
Private Object MY_JOB_FAMILY = new Object();Job job = new Job( Job Name )protected IStatus run(IProgressMonitor monitor) // 在这里添加你的任务代码 return Status OK_STATUS; public boolean belongsTo(Object family) return MY_JOB_FAMILY equals(family); ;我们可以使用JobManager的一系列方法针对Job Family进行操作
Job getJobManager() cancel(MY_JOB_FAMILY); //取消所有属于MY_JOB_FAMILY的所有JobJob getJobManager() join(MY_JOB_FAMILY); //等待属于MY_JOB_FAMILY的所有Job结束Job getJobManager() sleep(MY_JOB_FAMILY); //将所有属于MY_JOB_FAMILY的Job转入睡眠状态Job getJobManager() wakeup(MY_JOB_FAMILY); //将所有属于MY_JOB_FAMILY的Job唤醒线程死锁的调试和解决技巧
一旦我们使用了线程 我们的程序中就有可能有死锁的发生 一旦发生死锁 我们发生死锁的线程会没有响应 导致我们程序性能下降 如果我们的UI线程发生了死锁 我们的程序会没有响应 必须要重启程序 所以在我们多线程程序开发中 发现死锁的情况 解决死锁问题对提高我们程序的稳定性和性能极为重要
如果我们发现程序运行异常(例如程序没有响应) 我们首先要确定是否发生了死锁 通过下面这些步骤 我们可以确定是否死锁以及死锁的线程
在Eclipse中以Debug模式运行程序 执行响应的测试用例重现问题 在Eclipse的Debug View中选中主线程(Thread[main]) 选择菜单Run >Suspend 这时Eclipse会展开主线程的函数调用栈 我们就可以看到当前主线程正在执行的操作 通常 Eclipse在等待用户的操作 它的函数调用栈会和以下类似
图片示例
如果主线程发生死锁 函数调用栈的最上层一般会是你自己的函数调用 你可以查看一下你当前的函数调用以确定主线程在等待什么 使用同样的方法查看其他线程 特别是那些等待UI线程的线程 我们需要找出当前线程相互的等待关系 以便找出死锁的原因 我们找出死锁的线程后就可以针对不同情况进行处理
减小锁的粒度 增加并发性 调整资源请求的次序 将需要等待资源的任务放到独立的线程中执行
cha138/Article/program/Java/gj/201311/27701相关参考
Eclipse客户端程序中多线程的使用[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文
Eclipse客户端程序中多线程的使用[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 延时
Eclipse客户端程序中多线程的使用[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这样
Eclipse客户端程序中多线程的使用[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jo
Eclipse客户端程序中多线程的使用[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ec
关于Eclipse中UI程序的线程的讨论 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!虽然各个操作
Java开发中多线程同步技巧[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
Java开发中多线程同步技巧[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
Java开发中多线程同步技巧[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
Eclipse+JBoss5+EJB3 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有时客户端