首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保线程完成其任务,然后只有新线程才能在java中启动?

如何确保线程完成其任务,然后只有新线程才能在java中启动?
EN

Stack Overflow用户
提问于 2014-09-16 12:48:52
回答 3查看 184关注 0票数 0

我很惊讶,如何知道一个线程成功地完成了它的任务,然后只允许另一个线程执行?说明:假设我有10个模块。但是线程应该按顺序执行任务。在完全完成对一个模块的请求之后,只有它应该跳到下一个模块。

下面是我的代码:

代码语言:javascript
复制
SiaThread.java

Collection <Modulo> modules = mppt.getModuloCollection();
for(Module module:modules){
   UriThread threadUri = new UriThread(UriThread.URI_ENERGY_DAY,uriPath,"GET",semapore, module, gduSemapore,devType);
      UriThread threadUriFault = new UriThread (UriThread.URI_FAILURE, uriPath, "GET", semapore, module, gduSemapore,devType);
      }



UriThread.java
public UriThread (int iType, String strBaseUrl, String strmethod, Semaphore objsemaphore, Modulo module, GduSemaphore gduSemapore,String devType) {
        this.iUriType = iType;
        this.iRetry = 0;
        this.strBaseUrl = strBaseUrl; 
        this.strMethod = strmethod;
        this.semaphore = objsemaphore;
        this.gduSemapore = gduSemapore;
        this.modulo = module;
        this.strResponse = "";
        this.devType=devType;
        setState (URI_FORMATION);
        threadUrl = new Thread(this);
        threadUrl.start();
    }

任务需要一个接一个地完成,如果线程尚未完成其任务,则应该等待。

代码语言:javascript
复制
.Here semapore=new Semapore(10,true);

关于这个问题的更多解释:有一个SiaThread在其中运行上述两个线程。我希望SiaThread将等待为一个模块在循环中完成其任务,然后对循环中的另一个模块执行任务。请用代码给我建议,这样我才能更好地理解它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-16 17:26:43

对于给定的需求,使用Thread.join()。对于使用同步、等待、通知来实现监视器的线程控制的更高级要求,还应该评估更高级别的api (java并发包)。

票数 0
EN

Stack Overflow用户

发布于 2014-09-16 12:52:20

您应该加入,这是您正在等待的线程。您可以在官方Java文档处理:http://docs.oracle.com/javase/tutorial/essential/concurrency/join.html上阅读更多内容。

从这里开始:“联接方法允许一个线程等待另一个线程的完成。如果t是线程当前正在执行的线程对象。”

票数 1
EN

Stack Overflow用户

发布于 2014-09-16 12:55:08

如果您想自己处理任务的排序,可以使用Thread.join()。或者看看java.util.concurrent.Executors.newSingleThreadExecutor(),它可以依次为您完成任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25869223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档