Android 切换线程的方式[我常用的]
1. Handler.post[切换至主线程]
2. new Thread().start()[切换至子线程]
3. 线程池 ThreadPoolExecutor.execute()[切换至子线程]
4. runOnUiThread[切换至主线程]
然后写代码看一下他们之间的执行关系[代码中一看就清晰了]
package calldead.redwolf.threaddemo;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* 思考各种切线程方式之间的主从关系
*/
public class MainActivity extends AppCompatActivity {
private String TAG = "RedWolfChao";
// 线程池 1
private ThreadPoolExecutor mThreadPoolExecutor =
new ThreadPoolExecutor(3, 5, 1,
TimeUnit.SECONDS, new