&引用;pool.execute";(线程池执行器)在Java 7中的使用
我的项目中的一些代码如下所示:&引用;pool.execute";(线程池执行器)在Java 7中的使用,java,multithreading,Java,Multithreading,我的项目中的一些代码如下所示: pool.execute(() -> { boolean flag = true; while (flag) { if (ev3ColorSensor.getColorID() == Color.BLACK) {
pool.execute(() ->
{
boolean flag = true;
while (flag)
{
if (ev3ColorSensor.getColorID() == Color.BLACK)
{
LuuMa.setSwitching(true);
int randomInt = randomGenerator.nextInt(5) + 1;
if (randomInt == 1)
{
try {
pause();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if (randomInt == 2)
{
fastOff();
}
else if (randomInt == 3)
{
intimidate();
}
else if (randomInt == 4)
{
try {
peekFastOff();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if (randomInt == 5)
{
psych();
}
else if (randomInt == 6)
{
try {
delay();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
LuuMa.setSwitching(false);
}
});
我在做一个lejos ev3项目。Lejos ev3不支持Java8。出于这个原因,我必须使用Java7在EV3brick上编译我的项目
我需要使用
pool.execute
进行并行处理。但是Java7不支持它。如何解决这个问题,或者在Java7中可以使用哪种替代方案
谢谢,您可以只使用一个匿名的内部类来代替-Java 7不支持lambda表达式,但它肯定支持并行执行
pool.execute(new Runnable() {
@Override public void run() {
// Code here
}
});
显然,将
Callable
和run
更改为本例中合适的接口和方法名称-我们不知道代码中池的类型。如果Java 7不支持池的类型,您可以使用类似于ExecutorService
的东西,您可以使用匿名内部类来代替它-Java 7不支持lambda表达式,但它肯定支持并行执行
pool.execute(new Runnable() {
@Override public void run() {
// Code here
}
});
显然,将Callable
和run
更改为本例中合适的接口和方法名称-我们不知道代码中池的类型。如果Java 7不支持池的类型,您可以使用类似于ExecutorService
的东西,您可以使用匿名内部类来代替它-Java 7不支持lambda表达式,但它肯定支持并行执行
pool.execute(new Runnable() {
@Override public void run() {
// Code here
}
});
显然,将Callable
和run
更改为本例中合适的接口和方法名称-我们不知道代码中池的类型。如果Java 7不支持池的类型,您可以使用类似于ExecutorService
的东西,您可以使用匿名内部类来代替它-Java 7不支持lambda表达式,但它肯定支持并行执行
pool.execute(new Runnable() {
@Override public void run() {
// Code here
}
});
显然,将Callable
和run
更改为本例中合适的接口和方法名称-我们不知道代码中池的类型。如果Java 7不支持池的类型
,您可以使用类似ExecutorService
的东西,您正在使用Java8 lambda语法。首先尝试将它改回匿名类。“但是Java7不支持它。”这就是我要问的@Gabor。我如何管理它?:)Java 7当然支持但不支持pool.execute,还是我错了?@yusuf:pool.execute
只是对名为pool
的变量调用execute
方法。在不知道池的类型的情况下,我们怎么可能说它在Java 7上是否受支持?您使用的是Java8 lambda语法。首先尝试将它改回匿名类。“但是Java7不支持它。”这就是我要问的@Gabor。我如何管理它?:)Java 7当然支持但不支持pool.execute,还是我错了?@yusuf:pool.execute
只是对名为pool
的变量调用execute
方法。在不知道池的类型的情况下,我们怎么可能说它在Java 7上是否受支持?您使用的是Java8 lambda语法。首先尝试将它改回匿名类。“但是Java7不支持它。”这就是我要问的@Gabor。我如何管理它?:)Java 7当然支持但不支持pool.execute,还是我错了?@yusuf:pool.execute
只是对名为pool
的变量调用execute
方法。在不知道池的类型的情况下,我们怎么可能说它在Java 7上是否受支持?您使用的是Java8 lambda语法。首先尝试将它改回匿名类。“但是Java7不支持它。”这就是我要问的@Gabor。我如何管理它?:)Java 7当然支持但不支持pool.execute,还是我错了?@yusuf:pool.execute
只是对名为pool
的变量调用execute
方法。不知道池的类型
,我们怎么可能说Java 7是否支持它?