1handler 与线程 handler.post() 并没有启动新的线程
启动线程必须执行start函数,而runnable接口没有start方法,Thread才有start方法。 你还需要执行new Thread(myThread ).start();来启动新线程,
handler.post()是直接调用的run() 方法
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Handler handler = new Handler(); handler.post( r); setContentView(R.layout. activity_main); System. out.println( "activity--->" + Thread.currentThread().getId()); System. out.println( "activityname--->" + Thread.currentThread().getName()); } Runnable r = new Runnable(){ @Override public void run() { // TODO Auto-generated method stub System. out.println( "handler--->" + Thread.currentThread().getId()); System. out.println( "handlername--->" + Thread.currentThread().getName()); try { Thread. sleep(10000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; }
你还需要执行new Thread(myThread ).start();来启动新线程
,