java异步线程执行顺序的问题

发布于 2022-09-03 19:08:52 字数 344 浏览 14 评论 0

1.代码的结构简单描述如下:

 boolean flag_01 = true;
 
 for (int i = 0; i < 5; i++) {
    new Thread(new Runnable(){},"生产者").start();
    new Thread(new Runnable(){new Runnable(){//消费线程},flag_01 = false},"消费者").start();
    whiel(flag_01){}
}

请问,如何控制,当消费线程执行完之后,再执行flag_01 = false; 线程中套线程,如果获得最内层的线程,使之完成之后,再执行。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜司空 2022-09-10 19:08:52

消费者线程中传递过去一个对象,这个对象中含有属性flag_01,在线程执行完成后调用这个对象的一个函数,将flag_01设置为false,在外层一直读取这个对象的flag_01属性,看是不是false。

若言繁花未落 2022-09-10 19:08:52

你这代码写的没看懂。
如果要多线程之间有先后执行关系的话,可以考虑,java.util.concurrent.CountDownLatch
或者你把代码写完整了。我们再讨论。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文