开发者社区> 问答> 正文

关于Java多线程的问题

有两个类,一个主类,一个线程类。我主类里面有一个变量,需要线程类去处理。有什么办法保证我的线程类里面处理完之后 主类再使用这个变量么?
简化的例子:
主类
screenshot
线程类
screenshot
请问要怎么保证所有的线程都跑完,再使用主类变量?当然不要去停线程。谢谢。

展开
收起
蛮大人123 2016-02-20 16:21:51 2196 0
2 条回答
写回答
取消 提交回答
  • 1.你这个代码本身就是不正确的, ArrayList不适合多线程操作.
    2.就你的用例而言, 把线程类收集起来,start()方法调用完毕后,在依次掉用join()方法.


    11

    2019-07-17 18:45:28
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    CountDownLatch 可以实现;
    简单点来讲可以设置一个信号量,主线程不断监测这个信号量,不满足条件就一直阻塞,直到满足条件。信号量在多线程中修改

    2019-07-17 18:45:28
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载