java函数调用是否会为其执行生成新线程?

时间:2010-06-24 10:38:54

标签: android java

假设我的程序中有一个简单的函数。每当我调用该函数时,会生成一个新的线程或进程来执行该函数,或者它只在主线程内存空间下执行。请帮助...任何指针都将不胜感激。

提前致谢, Rupesh

4 个答案:

答案 0 :(得分:4)

当您在Java中调用方法时,它将在与调用它的代码相同的执行线程内运行。除非您在方法体内明确创建新线程。

答案 1 :(得分:0)

当您调用方法时,处理只会进入该方法。这是几乎所有语言的一般规则。

答案 2 :(得分:0)

正如戴夫约翰斯顿所说,不 - 除非你明确地创建一个新的线程。

当然,如果您调用的方法创建新线程作为其工作方式的一部分,您可以启动新线程。

线程和进程之间存在差异。线程是Java的多任务解决方案(也是一个很好的解决方案)。进程是一个操作系统的东西。根据您的JVM,新线程可能会或可能不会在新进程中运行。

无论哪种方式,JVM中的所有线程都访问相同的内存空间。稍微偏执注意:JVM内存中存在一些与CPU级内存缓存有关的同步问题 - 如果您正在进行严重的多线程编码,请参阅有关volatile关键字的文档。

您可以让多个JVM使用单独的内存运行,例如:如果从命令行运行单独的命令。

答案 3 :(得分:-3)

被调用的函数在同一个线程中执行。

建议:你应该从C开始学习编程。然后Java(或其他任何东西)的发动机功能不会让你感到困惑。