假设我的程序中有一个简单的函数。每当我调用该函数时,会生成一个新的线程或进程来执行该函数,或者它只在主线程内存空间下执行。请帮助...任何指针都将不胜感激。
提前致谢, Rupesh
答案 0 :(得分:4)
当您在Java中调用方法时,它将在与调用它的代码相同的执行线程内运行。除非您在方法体内明确创建新线程。
答案 1 :(得分:0)
当您调用方法时,处理只会进入该方法。这是几乎所有语言的一般规则。
答案 2 :(得分:0)
正如戴夫约翰斯顿所说,不 - 除非你明确地创建一个新的线程。
当然,如果您调用的方法创建新线程作为其工作方式的一部分,您可以启动新线程。
线程和进程之间存在差异。线程是Java的多任务解决方案(也是一个很好的解决方案)。进程是一个操作系统的东西。根据您的JVM,新线程可能会或可能不会在新进程中运行。
无论哪种方式,JVM中的所有线程都访问相同的内存空间。稍微偏执注意:JVM内存中存在一些与CPU级内存缓存有关的同步问题 - 如果您正在进行严重的多线程编码,请参阅有关volatile关键字的文档。
您可以让多个JVM使用单独的内存运行,例如:如果从命令行运行单独的命令。
答案 3 :(得分:-3)
被调用的函数在同一个线程中执行。
建议:你应该从C开始学习编程。然后Java(或其他任何东西)的发动机功能不会让你感到困惑。