Handler handler=new Handler(); handler.post(new Runnable() { @Override public void run() { //ToDo } });
Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //UI 操做 } };
Message message=new Message(); message.setData(new Bundle()); handler.sendMessage(message);
HandlerThread ht = new HandlerThread("handler thread"); ht.start();
Handler handler=new Handler(ht.getLooper());
handler.post(new Runnable(){//這裏run()方法其實仍是在等ht.start()調用 public void run(){ Log.e("當前線程:",Thread.currentThread().getName());//這裏打印的會是handler thread setTitle("哈哈");//這樣一定報錯 } });
new Thread(){ @Override public void run() { super.run(); //ToDo } }.start();
new Thread(new Runnable() { @Override public void run() { } }).start();
AsyncTask<String,String,String> asyncTask=new AsyncTask<String, String, String>() { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected String doInBackground(String... params) { return null; } @Override protected void onProgressUpdate(String... values) { super.onProgressUpdate(values); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); } };
ExecutorService service=Executors.newSingleThreadExecutor();
ExecutorService service=Executors.newFixedThreadPool(10);
ExecutorService service=Executors.newCachedThreadPool();