JVM中的线程行为 -JavaWorld

前言:

程化是指同时执行编程过程以提高应用程序性能的实践。虽然直接在业务应用程序中使用线程并不常见,但它们一直在Java框架中使用。

例如,处理大量信息的框架(如Spring Batch)使用线程来管理数据。同时操作线程或CPU进程可提高性能,从而实现更快,更高效的程序。

 

找到你的第一个线程:Java的main()方法

即使你从未直接使用Java线程,你也间接使用它们,因为Java的main()方法包含一个主线程。无论何时执行该main()方法,您都执行了main Thread。

学习Thread该类对于理解线程在Java程序中的工作方式非常有帮助。我们可以通过调用currentThread().getName()方法来访问正在执行的线程,如下所示:

<span style="color:#333333"><strong>public</strong> <strong>class</strong> MainThread {

    <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String... mainThread) {
        System.out.println(Thread.currentThread().getName());
    }

}
</span>

此代码将打印“main”,标识当前正在执行的线程。知道如何识别正在执行的线程是吸收线程概念的第一步。

 

Java线程生命周期

使用线程时,了解线程状态至关重要。Java线程生命周期包含六种线程状态:

 

  • New:Thread()已经实例化了一个新的。
  • Runnable接口:本Thread的start()方法被调用。
  • Running:start()已调用该方法并且线程正在运行。
  • Suspended:线程暂时挂起,可以由另一个线程恢复。
  • Blocked:线程正在等待机会运行。当一个线程已经调用该synchronized()方法并且下一个线程必须等到它完成时,就会发生这种情况。
  • Terminated:线程的执行完成。

图1. Java线程生命周期的六种状态

 

还有更多关于线程状态的探索和理解,但图1中的信息足以让您解决这个Java挑战。

 

并发处理:扩展Thread类

最简单的是,通过扩展Thread类来完成并发处理,如下所示。

 

 

<span style="color:#333333"><strong>public</strong> <strong>class</strong> InheritingThread <strong>extends</strong> Thread {

    InheritingThread(String threadName) {
        <strong>super</strong>(threadName);
    }

    <strong>public</strong> <strong>static</strong> <str
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值