我可以编写一个在PC和Android之间移植的多线程Java程序而不进行修改吗?



我需要编写一个小型的Java多线程程序来利用多核。我想在Windows和Android上运行。但Android似乎使用与Java多线程不同的东西。我必须做两个程序吗?

不,你不必为Windows和Android编写两组不同的代码,只要你谈论的是代码的多线程部分。

当然,您将需要两种不同的Android和Windows可执行文件,因为Android通常需要将您的代码编译并打包为APK文件。

关于多线程,Android 支持所有与多线程相关的 Java 标准库类。Android还提供了一些额外的类,如AsyncTask等,对于普通的Java程序员来说,多线程的两种抽象复杂性。但是这些特定于Android的实用程序类是在现有的标准Java线程之上实现的。

因此,使用标准 java 包编写的多线程代码也可以在 Android 上无需修改即可工作。

下面的代码将在Android和Windows上完美运行。

Runnable myRunnable = new Runnable(){
public void run(){
int a = 1000;
a     = a * 200;
}
}
Thread myThread = new Thread(myRunnable);
myThread.start();
myThread.join();

ForkJoinTasks在Android中也受支持。在此处查看详细信息 https://developer.android.com/reference/java/util/concurrent/ForkJoinTask

最新更新