tyc*_*czj 2 multithreading android
new Thread(new Runnable(){
}).run();
Run Code Online (Sandbox Code Playgroud)
VS
new AsyncTask().execute();
Run Code Online (Sandbox Code Playgroud)
我的印象是他们是同一个东西,都开始了新的工作线程,但事实并非如此吗?
我问的原因是因为如果我尝试使用任何类型的网络连接new Thread()我得到一个NetworkOnMainThreadException但是当我在异步任务中放入相同的代码时,我没有得到它.
这个差异的另一个例子是使用google maps api v2,其中所有的情节/显示/隐藏必须在上面进行,main thread但是如果我new Thread()用来隐藏/显示标记,那么看起来很好但是如果我尝试在异步任务中显示/隐藏我得到一个例外,说它需要在主线程上完成.
它new Thread()真的不启动辅助线程?
编辑
不知道为什么这个被关闭,因为提供的链接我已阅读并没有回答我的问题,并没有提到使用run()vs start()回答我的问题