浅析Java中线程的创建和启动
前言
线程是一个程序内部的顺序控制流。cpu实际上在一个时间点上,只执行一个。只不过我们把cup分成了多个时间片,由于速度很快,我们看起来像是多个线程。就像你的时间分成几片,这样整体看来做事情有规律,效率就会高,何况是cup呢。
线程的创建和启动:
(1)定义Thread
类的子类,并重写了该类的run()
方法,该run()
方法的方法就代表了线程需要完成的任务。因此把run()
方法称为线程执行体
(2)创建Thread
子类的实例,即创建了线程对象
(3)调用线程对象的start()
方法来启动该线程
源代码:
// 通过继承Thread类来创建线程类 public class FirstThread extends Thread { private int i; //重写run()方法,run()方法的方法体是线程执行体 public void run() { for(;i<100;i++) {//当线程类继承Thread类时,直接使用this即可获取当前数据 //Thread对象的getName()返回当前线程的名字 //因此可以直接调用getName()方法返回当前线程的名字 System.out.println(getName()+””+i); } } public static void main(String[] args) { for(int i=0;i<100;i++) { //调用Thread的currentThread()方法获取当前线程 System.out.println(Thread.currentThread().getName() +””+i); if(i==20) { //创建并启动第一个线程 new FirstThread().start(); //创建并启动第二个线程 new FirstThread().start(); } } } }
运行界面:
总结
以上就是本文的全部内容,希望对大家的学习和工作有所帮助。如果有疑问可以留言讨论。
相关文章
@Scheduled定时器原理及@RefreshScope相互影响
这篇文章主要为大家介绍了@Scheduled定时器原理及@RefreshScope相互影响详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-07-07idea查看properties中文变成unicode码的解决方案
这篇文章主要介绍了idea查看properties中文变成unicode码的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06Java序列化JSON丢失精度问题的解决方法(修复Long类型太长)
这篇文章主要给大家介绍了关于Java序列化JSON丢失精度问题的解决方法,修复Long类型太长的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2022-03-03
最新评论