专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java多线程实现异步调用(java多线程执行)

temp10 2024-10-21 12:23:27 java教程 14 ℃ 0 评论

首先我们来一个实际的应用场景:用户请求一些报表数据,但是这些数据需要实时计算,那么用户要等待的时间就会很久,这时候我们就可以用异步的方式来处理,更通俗的场景就是生活中烧开水的时候,你可以去包饺子。蛋糕店定蛋糕,你可以先下单,不用在那里一直等着,约定个时间过来取。以下的DEMO是按照生成报表异步实际需求!



  1. public class Host {
  2. public static void main(String[] args) {
  3. System.out.println("main BEGIN");
  4. Host host = new Host();
  5. host.request();
  6. host.request();
  7. System.out.println("main END");
  8. }
  9. public void request() {
  10. System.out.println("(1)用户请求生成统计报表");
  11. //启动新的线程
  12. new Thread() {
  13. public void run() {
  14. try {
  15. System.out.println("线程休息5秒-------------");
  16. Thread.sleep(5000);
  17. } catch (InterruptedException e) {
  18. e.printStackTrace();
  19. }
  20. System.out.println("(3)真正在后台计算,最后生成指定路径下的报表,并修改数据库记录的状态为《已生成》");
  21. }
  22. }.start();
  23. System.out.println("(2)告诉用户正在生成,数据库写入一条报表的路径,但是状态是《正在生成》。");
  24. }
  25. }

注意:你可能还要保证生成报表的线程是否可靠,报表丢失,重复处理等机制。

Java多线程实现异步调用(java多线程执行)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表