Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 并行模式下的大整数乘法_Java_Android_Biginteger - Fatal编程技术网

Java 并行模式下的大整数乘法

Java 并行模式下的大整数乘法,java,android,biginteger,Java,Android,Biginteger,我想写一个android代码,在并行模式下将10000个数字相乘。 例如,将它们分成若干组,然后将线程中的每个组相乘((异步任务)),然后将每个组的结果相乘。 但是我不知道怎么做,有人能帮忙吗?一个线程池可以运行一个任务的多个并行实例,所以你应该确保你的代码是线程安全的。在同步块中包含可由多个线程访问的变量。这种方法将防止一个线程在另一个线程写入变量时读取该变量。通常,这种情况会在静态变量中出现,但在任何只实例化一次的对象中也会出现 通过使用线程池概念,您可以使用给定的代码链接: 在使用异步任

我想写一个android代码,在并行模式下将10000个数字相乘。 例如,将它们分成若干组,然后将线程中的每个组相乘((异步任务)),然后将每个组的结果相乘。
但是我不知道怎么做,有人能帮忙吗?

一个线程池可以运行一个任务的多个并行实例,所以你应该确保你的代码是线程安全的。在同步块中包含可由多个线程访问的变量。这种方法将防止一个线程在另一个线程写入变量时读取该变量。通常,这种情况会在静态变量中出现,但在任何只实例化一次的对象中也会出现

通过使用线程池概念,您可以使用给定的代码链接:

在使用异步任务时,您还可以检查:

使用并行流

List<BigInteger> integers = new ArrayList<>();
// fill data
BigInteger result = integers.parallelStream()
    .reduce(BigInteger.ONE, (a, e) -> a.multiply(e));
System.out.println(result);
List integers=new ArrayList();
//填充数据
BigInteger结果=整数。parallelStream()
.reduce(biginger.ONE,(a,e)->a.multiply(e));
系统输出打印项次(结果);