Java线程

本文深入探讨了操作系统中的进程和线程概念,以及Java线程的五种状态,包括新建、就绪、运行、阻塞和死亡。同时,介绍了Java线程的优先级、创建方式,并提到了多线程编程中的同步与异步概念。在实际编程中,理解线程死锁和线程控制(如挂起、停止和恢复)至关重要。
摘要由CSDN通过智能技术生成

一、操作系统中线程和进程的概念

进程是一个内存中运行中的应用程序,一个进程中可以运行多个线程,也可以运行一个线程,比如百度网盘下载东西,百度网盘运行的是一个进程,里面下载的东西就是多个线程。

二、Java中的线程

1.线程的状态

        新建状态:使用new关键字和Thread类或其子类创建一个线程对象后,线程就进入新建状态。

        就绪状态:当线程对象调用start()方法之后,该线程就进入了就绪状态。就绪状态的线程处于就绪队伍中通了,需要等待JVM里的线程调度器去调度。

        运行状态:如果就绪状态的线程获取了CPU的资源,就可以执行run(),这时线程处于运行状态。

        阻塞状态:如果一个线程被执行了sleep、suspend的方法时,失去所占用资源之后,该线程就从运行状态进入阻塞状态。

        死亡状态:一个运行状态的线程完成了它的任务或者其他终止条件发生时,该线程就没用了。

2.线程的优先级

        每个线程都有优先级,这样有助于操作系统他们的调度顺序。取值范围1-10,默认的创建的线程是5。

3.线程的创建

        实现Runnable接口;

        通过继承Thread类;

        通过Callable和Future创建线程;

同步与异步

        同步:排队执行 , 效率低但是安全 .
        异步: 同时执行 , 效率高但是数据不安全

在多线程编程时,你需要了解

        1.线程死锁

        2.线程控制:挂起、停止和恢复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值