Java多线程基础:创建与优先级设置示例

需积分: 0 0 下载量 62 浏览量 更新于2024-08-14 收藏 176KB PPT 举报
本篇文档主要介绍了Java的多线程机制,特别是通过实际编程示例来展示如何使用`Thread`类的子类创建和管理线程。在Java中,线程是程序执行的基本单元,它们可以并发执行任务,共享同一进程的系统资源。 首先,理解Java线程的优先级至关重要。线程的优先级被表示为一个介于1(最低优先级)到10(最高优先级)之间的整数,其中10对应的是`Thread`类中的常量`MAX_PRIORITY`,5是缺省优先级,即`NORM_PRIORITY`,而1则是`MIN_PRIORITY`。如果不显式设置,新创建的线程优先级默认为5。开发者可以使用`setPriority()`方法来修改线程的优先级,确保任务按照预期顺序执行。 文档中提供了两个示例:`CalculateThread`和`PrintThread`。`CalculateThread`负责计算圆周率的平方根,而`PrintThread`则负责打印10颗星。这两个线程都是`Thread`类的子类,并覆盖了`run()`方法,这是每个线程执行的实际操作部分。 在`main()`方法中,通过创建`CalculateThread`对象`t1`和`PrintThread`对象`t2`,并调用`start()`方法来启动这两个线程。这将使它们在不同的时间点并行运行,尽管初始顺序由线程的优先级决定。在实际运行时,输出显示了线程启动的顺序以及各自的操作:计算线程先睡眠1秒,然后计算圆周率的平方根,接着是打印线程打印10颗星。 值得注意的是,线程调度是由操作系统负责的,尽管我们可以调整线程的优先级,但实际执行顺序可能会因为各种因素(如CPU时间片分配、线程阻塞等)而有所不同。因此,仅依赖优先级并不能保证线程执行的绝对顺序。 总结来说,这段代码展示了Java中如何通过继承`Thread`类创建自定义线程,如何设置和调整线程优先级,以及如何通过`start()`方法启动线程并观察其并发执行。这对于理解和实践并发编程,尤其是多线程在Java中的应用非常有用。