当点击按钮btnStart时 ,开辟新线程等待8秒。这时点击按钮btnEnd依然可以执行 System.out.println("这就是异步操作");
也就是说 btnStart 的操作不会影响btnEnd的输出,它们两个分别处在不同的线程
btnEnd = (Button) findViewById(R.id.btnEnd);//异步操作 btnEnd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub System.out.println("这就是异步操作"); } }); btnStart=(Button)findViewById(R.id.btnStart);//开始延迟 btnStart.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub myAsyncTask task=new myAsyncTask(); task.execute(); } });
/** * 异步操作 * @author Administrator * */ class myAsyncTask extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub Thread t = new Thread(new Runnable() { public void run(){ try { Thread.sleep(8000); System.out.println("8秒过后"); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }); t.start(); return null; } }