Java—线程基础

1.区分程序,进程,线程

程序: 在计算机上安装的的程序代码(静态的)。

进程: 运行中的程序,从硬盘上加载到内存中,分配空间, 是操作系统分配空间的单位。

线程: 线程是进程内部的最小执行单元(单位) 是操作系统调度单位。

举例: QQ 安装到电脑上(静态代码) 双击运行: 加载到内存中运行。

2.线程进程的关系

        线程隶属于进程,一个进程中可以包含多个线程 ,一个进程中至少包含一个线程(即主线程) ,可以在主线程中创建其他线程。比如main方法是用来启动java主线程的。

3.java中创建线程的方式

(1)extends  Thread

            MyThread myThread = new MyThread();
            myThread.start();

(2)implements Runnable

            ThreadDemo threadDemo = new ThreadDemo();
            Thread thread = new Thread(threadDemo);
            thread.start();//启动线程

            线程是一个可以独立被操作系统执行调度的,多核cpu下,同时可以执行多个线程。

4.Thread类中方法

 Thread类是用来管理线程的。

部分构造方法如下:
   Thread t = new Thread();//创建线程对象
   Thread t = new Thread("mythread");//创建线程对象
   Thread thread = new Thread(threadDemo);//Thread 是线程的管理类,创建线程,并为其分配任务
   Thread thread = new Thread(threadDemo,"mythread");//Thread 是线程的管理类,创建线程,并为其分配任务
   run(); 实现线程任务
   start();  启动线程
   setName();
   currentThread(); 获得当前执行的线程
   getName();

影响到线程的状态的方法:
   join();   等待线程结束
   sleep();  线程休眠指定的时间
   yield();  线程主动让出

线程是有优先级的, 优先级范围是1-10 默认是5
       final void setPriority(int newPriority); 设置线程的优先级
       final int getPriority(); 返回线程的优先级
拥有较高优先级的线程,有更多的机会获得cpu的执行权。

5.线程的生命周期和线程状态

线程在它的生命周期中会处于不同的状态,如图所示:

线程的生命周期: 就是什么时候创建 什么时候销毁(死亡)

新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。                         MyThread t = new MyThread();
就绪:处于新建状态的线程被start();后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源。
运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run();方法定义了线程的操作和功能。
阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU并临时中止自己的执行,进入阻塞状态。
死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现异常 导致结束。

6.java中的线程分类

        Java中的线程分为两类:用户线程和守护线程。

        用户线程和守护线程两者几乎没有区别,唯一的不同之处就在于虚拟机的离开。如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了

        正常创建的线程是用户线程.。守护线程与用户线程功能是一样的,去完成某件事情, 用户线程的工作做完后它就结束了,守护线程是等待所有的用户线程结束后,守护线程才会自动退出, 例如垃圾回收任务就是在一个守护线程中进行的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知名小佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值