Android 工作室可运行,线程
Android studio runnable, threads
我有两个选项来执行我的程序(结果我需要 Out_str)。
选项 1:
Out_str = "";
for (i = 1; i <= 20000; i++) {
Out_str = Out_str + "word";
}
选项 2:
Runnable runnable1 = new Runnable() {
public void run() {
Out_str1 = "";
for (i1 = 1; i1 <= 10000; i1++) {
Out_str1 = Out_str1 + "word";
}
}
};
Runnable runnable2 = new Runnable() {
public void run() {
Out_str2 = "";
for (i2 = 1; i2 <= 10000; i2++) {
Out_str2 = Out_str2 + "word";
}
}
};
Thread thread1 = new Thread(runnable1);
thread1.start();
Thread thread2 = new Thread(runnable2);
thread2.start();
为什么使用线程不能使我的程序执行得更快(在这两种情况下,我的笔记本电脑的执行时间大约为 12 秒)?在这种情况下我应该使用什么(以便更快地获得Out_str)?在这种情况下使用服务会有帮助吗?
Thread
允许您 运行 并发处理。但是,您还没有获得任何处理能力,如果优先级相同,我猜您的线程将以循环方式 运行。
我有两个选项来执行我的程序(结果我需要 Out_str)。
选项 1:
Out_str = "";
for (i = 1; i <= 20000; i++) {
Out_str = Out_str + "word";
}
选项 2:
Runnable runnable1 = new Runnable() {
public void run() {
Out_str1 = "";
for (i1 = 1; i1 <= 10000; i1++) {
Out_str1 = Out_str1 + "word";
}
}
};
Runnable runnable2 = new Runnable() {
public void run() {
Out_str2 = "";
for (i2 = 1; i2 <= 10000; i2++) {
Out_str2 = Out_str2 + "word";
}
}
};
Thread thread1 = new Thread(runnable1);
thread1.start();
Thread thread2 = new Thread(runnable2);
thread2.start();
为什么使用线程不能使我的程序执行得更快(在这两种情况下,我的笔记本电脑的执行时间大约为 12 秒)?在这种情况下我应该使用什么(以便更快地获得Out_str)?在这种情况下使用服务会有帮助吗?
Thread
允许您 运行 并发处理。但是,您还没有获得任何处理能力,如果优先级相同,我猜您的线程将以循环方式 运行。