java如何并行运行代码

2025-10-03 15:34:48

1、Java代码在线程中运行。当您启动一个简单的应用程序时,例如一个传统的Hello World应用程序,代码在主线程中运行。正如您所期望的,一个应用程序。正如您所期望的,一个应用程序至少需要一个线程来运行。

java如何并行运行代码

2、可以创建自己的线程。无论何时创建新线程,都提供了代码要在该线程中运行,将立即运行。考虑到运行在物理上是不可能的在任何时候,一个CPU核心上都有不止一段代码,这是JVM的工作管理这些线程,并计划运行哪个线程和何时运行。

java如何并行运行代码

3、下图代码显示了在单独的线程中运行代码的一个非常简单的示例。

java如何并行运行代码

java如何并行运行代码

4、若要创建新线程, 请构造一个新的线程对象。此对象采用Runnable 接口的实例。Runnable 接口有一个方法,public void run ()。请注意, 要启动线程, 您永远不会调用此 run 方法。您在线程对象上调用 start, 而在 jvm 创建新线程以运行代码后, 该对象又将调用 run。

5、线程类是特殊的, 因为它调用 jvm 来创建新的线程以允许并行执行。如果您查看 start 方法的源代码, 您将看到它最终调用了一个名为 start0 的私有方法, 该方法本身就是一个本机方法: 它是在特定于宿主操作系统的 java 本机接口中实现的。

java如何并行运行代码

java如何并行运行代码

6、对第三步的代码仔细检查显示, 它正在执行三个主要操作: 

1、创建一个新线程, 

2、启动该线程, 

3、然后在这两个线程中每隔5秒打印一次线程的名称。

如果您运行此代码几次, 您会看到两个线程之间的顺序可能会更改: 有时从主线程打印的行是第一个, 有时从新线程打印的内衬是第一位的。jvm 正在决定计划运行哪个线程。

java如何并行运行代码

7、请注意, 不能将throws 声明添加到第二步代码中的ThreadPrinter 代码上的 run 方法中, 因此对 thread.sleep 的调用必须包围在 try/catch 块中。Runnable 接口没有引发声明, 因此也不能任何实现类。

java如何并行运行代码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢