java的语句执行的时序性?

一直对这个问题的理解有个模糊状态,如下面的代码
我的原意是,等profitService.toSavePartData(goalData);保存完了,就清空goalData这个集合。真实是不是就这样呢?还是一边保存,一边执行下面的清空语句呢?如果是,如何达到我的愿意??

    if (goalData.size() % 100 == 0) {
                    
                    System.out.println("已经满足1次,保存中。。。。");
                    profitService.toSavePartData(goalData);
                    goalData.clear();

                }
阅读 2.7k
2 个回答

这取决于 toSavePartData 方法内如何办的,如果里面有个

new Thread(new Runnable(){
    @override
    public void run() {
        // ...
    }
}).start();

之类的方法就不好说了。如果没有,那可以认为是串行的。

单线程下是一句一句执行,只有profitService.toSavePartData(goalData);这句执行完才会进行下一句。java没有异步方法(多线程可实现类似功能),只有多线程问题,题主不要搞混了。
PS:可能描述不那么精确,仅做参考。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题