在 Android 中,你可以使用 pthread 庫來實現(xiàn)多線程編程
首先,確保你的項目已經安裝了 NDK。在 Android Studio 中,轉到 “Tools” > “SDK Manager” > “SDK Tools”,然后勾選 “NDK (Side by side)”。點擊 “Apply” 安裝 NDK。
在你的項目中創(chuàng)建一個新的 C/C++ 源文件。例如,創(chuàng)建一個名為 native-lib.c
的文件。
在 native-lib.c
文件中,包含 pthread 頭文件并定義一個線程函數(shù)。例如:
#include <pthread.h>
#include<stdio.h>
#include <unistd.h>
void* thread_function(void *arg) {
int i;
for (i = 0; i < 5; i++) {
printf("Thread: %d\n", i);
sleep(1);
}
return NULL;
}
void create_thread() {
pthread_t thread;
pthread_create(&thread, NULL, thread_function, NULL);
pthread_join(thread, NULL);
}
create_thread()
函數(shù)。首先,在 build.gradle
文件中的 android
部分添加以下內容:externalNativeBuild {
cmake {
cppFlags "-std=c++11"
}
}
public class MainActivity extends AppCompatActivity {
// ...
public native void createThread();
}
native-lib.c
文件中,實現(xiàn) JNI 函數(shù)來調用 create_thread()
函數(shù):#include <jni.h>
JNIEXPORT void JNICALL
Java_com_example_myapplication_MainActivity_createThread(JNIEnv *env, jobject obj) {
create_thread();
}
public class MainActivity extends AppCompatActivity {
// ...
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createThread();
}
}
現(xiàn)在,當你運行應用程序時,它將創(chuàng)建一個新的線程并在其中執(zhí)行 thread_function
。這只是一個簡單的示例,你可以根據(jù)需要修改代碼以適應你的項目。