New*_*Dev 4 java methods multithreading
我已经使用线程2-3天了,我有一个关于方法的快速问题.我正在创建一个Android应用程序,它从主UI线程开始(为了清楚起见,我们将其称为"UI线程").我正在使用以下代码生成一个新线程:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
someMethod();
}
});
thread.start();
Run Code Online (Sandbox Code Playgroud)
我的问题是,someMethod()还会运行我刚创建的新线程,因为我从那里调用它?或者它会在UI线程上运行吗?作为参考,someMethod()位于创建新线程的方法之外.
如果someMethod()不能在新线程上运行,我该怎么做呢?谢谢.
someMethod()也会在我刚创建的新线程上运行,因为我从那里调用它?
是的,这正是发生的事情.该方法只是代码.它独立于在给定时间点恰好在其中运行的控制线程.这也意味着如果有多个cpu /核心,可能有多个线程在任何给定的时间点执行该代码.