0
我需要一个Java 8的多线程示例。java的多线程示例8
我需要能够手动选择线程数。
在下面的例子中,我有一个Thread.currentThread()。getName()的问题,我需要使用lambda表达式。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Thread {
public static void main(String args[]) {
ExecutorService service = Executors.newFixedThreadPool(10);
for (int i =0; i<100; i++){
service.submit(new Task(i));
}
}
final class Task implements Runnable{
private int taskId;
public Task(int id){
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task ID : " + this.taskId +" performed by "
+ Thread.currentThread().getName());
}
}
你的主要问题是你命名你的Thread类。所以Thread.currentThread()。getName试图找到你的类的方法,而不是java.lang.Thread。是的,互联网充满了多线程的例子,无法正常工作。对于lambda部分,请参阅[如何从Java8 lambda创建Runnable](http://stackoverflow.com/q/34026903/217324) –
您有什么问题与Thread.currentThread()。getName()'? – Jhonny007
只需使用'java.lang.Thread.currentThread()。getName()' – Xyaren