有个功能需要循环创建线程,在java中应该咋做

还是用线程池吧
■网友
List\u0026lt;Object\u0026gt; features = new ArrayList\u0026lt;Object\u0026gt;(); \tfeatures.forEach(n -\u0026gt; {\t\tfinal Object thisObj = n;\t\tnew Thread(new Runnable(){\t\t\t@Override\t\t\tpublic void run() {\t\t\t\tthisObj.toString();\t\t\t}\t\t}).start();\t}); 看楼主的需求,一定不是某公司的系统,一定是写作业或者课程设计,那也别猜了,就用jdk8把,请叫我活雷锋。。。。。
■网友
如果会写循环,会开线程就是大神,那这大神是不是太廉价了?这么基础的问题也邀请我,你还做个屁开发啊。
■网友
谢邀。虽然有点扯的问题,说得也不清不楚。回头答。我来更新了。先看你的问题,根据list.list创建任务同时进行嘛。然后大家肯定瞬然问一句,同时是怎么样的同时呢?要同时到什么程度呢?是看起来同时执行就好,还是真的在某个时间间隔(精度)下并发?看你提问的样子我感觉应该看起来同时执行就好,这就是并发编程的问题咯。楼下有人很简单粗暴说循环创建线程就好....看到这句我都默默不想说话了。补一句:list给来个一千好么?这时候还是祭出bing好了....https://www.bing.com/search?q=java+%E5%B9%B6%E5%8F%91%E7%BA%BF%E7%A8%8B\u0026amp;go=%E6%8F%90%E4%BA%A4\u0026amp;qs=n\u0026amp;form=QBLH\u0026amp;pq=java+%E5%B9%B6%E5%8F%91%E7%BA%BF%E7%A8%8B\u0026amp;sc=2-9\u0026amp;sp=-1\u0026amp;sk=\u0026amp;cvid=C65282E47D044587B0A3D81EAA427058Java并发编程:线程池的使用JAVA多线程与并发学习总结聊聊并发(三)——JAVA线程池的分析和使用什么?你要的是在一微秒内同时开启所有任务?这问题别来问好么
■网友
用Jdk8的parallelStream,一行代码可以搞定主要功能,完整例子如下:
public class EveryObjectWithAThread { private static int ID_NUM = 1; static class TaskObject { int id; TaskObject() { id = ID_NUM++; } //任务对象要执行的方法 void func(){ System.out.println("Task id:"+id+" is running."); } } public static void main(String args) { //建立一个对象数组 ArrayList\u0026lt;TaskObject\u0026gt; list = new ArrayList\u0026lt;\u0026gt;(); for (int i = 0; i \u0026lt; 100; i++) { list.add(new TaskObject()); } //为每个对象开启一个线程,一行代码搞定 list.parallelStream().forEach(taskObject -\u0026gt; taskObject.func()); }} 【有个功能需要循环创建线程,在java中应该咋做】

■网友
1. 循环2. 循环里 new Thread().start();
■网友
用线程池或Akka来处理


    推荐阅读