Java 多线程的一点小问题
使用了Runnable、Thread就必定是多线程?
class XXRunnable implements java.lang.Runnable{
@Override
public void run() {
Log.d(TAG,"runnable threadId"+ Thread.currentThread().getId());
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"main threadId"+ Thread.currentThread().getId());
new Thread(new XXRunnable()).run();
}
这个时候
11-30 11:46:49.449 10738-10738/? D/MainActivity: main threadId1
11-30 11:46:49.449 10738-10738/? D/MainActivity: runnable threadId1
有没有发现同一个线程ID呀!?
采用同一套测试框架
new XXRunnable().run(); //和调用的线程同一个线程
new Thread(new XXRunnable()).start(); //这才是多线程呢!?