多线程-线程概念

一:进程与线程的区别

     进程是资源分配的最小单位,线程是资源调度的最小单位。一个程序的生命周期,对应着进程的创建,运行,中止。进程拥有独立的地址空间,同一进程下的多个线程共享进程的地址空间。

二:线程的生命周期

 如上图所示,线程有6个状态:分别是新建状态,就绪状态,运行状态,阻塞状态,等待状态,超时等待状态,中止状态。

  新建状态:当new一个线程对象时,此时线程出于新建状态(Thread t=new Thread();)。

 (就绪状态,运行状态):t.start(),当执行start()方法此时线程处于就绪,当线程获取的cpu的时间片时,此时线程处于运行状态。(Java将操作系统中线程的就绪与运行合并为运行状态)

  阻塞状态:当多个线程竞争锁时,没有竞争到锁的线程会处于阻塞状态。

  等待状态:线程运行中调用wait(),join()方法处于等待状态。

  超时等待:线程运行中调用sleep(time),wait(time)方法时会处于超时等待状态。

  中止状态:当线程执行完run()方法后线程会生命周期会结束。

三:线程的创建方法

      java创建线程有三种方式。

        继承Thread类,实现Runable接口,实现Callable接口(可以实现回调)

        在生产环境中用的最多的是通过线程池执行线程任务。

四:总结

     线程概念这部分比较简单,主要是了解线程生命周期的各个状态之间的转换,在生产环境dump线程信息时,便于定位问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值