当前位置:首页 » 编程语言 » javafor线程

javafor线程

发布时间: 2024-12-26 21:54:35

java线程for循环没有循环完成就停止了,这是为什么

多线程需要基础学好点。在来开发,否则总有莫名其妙的事情冒出来。而自己无法解释。
你这个问题很简单。
你要main主线程1秒后输出list集合数据。在你代码中这写法本身是错误的,因为你有2个子线程,有锁,安全地往list中加2千个数据,却每次要等待1毫秒,估算2千数据你程序的加完需要2秒多时间,在1秒后,子线程还没有结束,大概1千个数据还没加完呢,你主线程就输出了当前数据。肯定结果不对。哪来的2千个数据呢。你说循环没完成就停止了,说法完全错误。。。
你要main主线程输出list集合数据。正确操作应该是:
Thread t1 = ...;
t1.start();
t2也是如此。
最后main线程下面,输出list数据前加2行代码
t1.join();
t2.join();
然后在打印list。
join方法意思很简单。就是等待线程结束后,我再继续。main线程等待了2个子线程都结束后,即保证数据全部进list后,打印结果。

㈡ java for循环中创建线程池

  1. 首先要明确线程池的意思,就是线程预先创建好放在一个池里面,使用后不会销毁

  2. 要区分任务和线程池,任务可以不断添加,但是线程池里线程的个数是固定的,当任务数超过线程数后,后面的任务需要等待有空闲的线程才会执行

  3. 所以不断添加任务没有关系,如果池中有50个线程,你添加100个任务同一时间也只会执行50个任务,剩下的50个任务需要等待前面的任务执行完毕后继续执行

  4. 所以你的主线程原则上可以不断for,但是你总得有个结束点吧

热点内容
php办公系统 发布:2025-07-19 03:06:35 浏览:900
奥德赛买什么配置出去改装 发布:2025-07-19 02:53:18 浏览:40
请与网络管理员联系请求访问权限 发布:2025-07-19 02:37:34 浏览:189
ipad上b站缓存视频怎么下载 发布:2025-07-19 02:32:17 浏览:844
phpcgi与phpfpm 发布:2025-07-19 02:05:19 浏览:527
捷达方向机安全登录密码是多少 发布:2025-07-19 00:57:37 浏览:692
夜魔迅雷下载ftp 发布:2025-07-19 00:39:29 浏览:99
增值税票安全接入服务器地址 发布:2025-07-19 00:20:45 浏览:486
solidworkspcb服务器地址 发布:2025-07-18 22:50:35 浏览:822
怎么在堆叠交换机里配置vlan 发布:2025-07-18 22:42:35 浏览:630