java多线程之基础概念

线程

    cpu执行的最小单位,进程的实际运作单位,程序在执行的时候,都是以线程为单位来执行

与进程的区别

    进程是操作系统分配资源和调度的基本单位;一个进程可能包含多个线程;线程之间切换的代价比进程要小。

多线程的优势

   提高cpu利用率,在单线程中,如果该线程在进行io操作时,这时cpu是空闲的;如果是多线程中,在cpu空闲的时候可以分配该其他线程使用,这样提高了cpu利用率

 多线程的问题

      安全性问题,如果有多个线程同时修改某个变量,没有同步控制,容易造成互相覆盖结果,使得最终的结果不正确。

     死锁问题,由于线程推进不当造成线程由于没有获得需要的锁而造成线程都不执行(死锁的必要条件:资源互斥,资源不可剥夺,

     循环等待,请求与保存)

 Java线程创建

   基础Thread或者实现Runnable接口可以创建新的线程

  线程状态

  开始:通过Thread.start创建线程

  就绪:线程创建成功后,可以运行的状态

  运行:线程执行

   阻塞:在执行的过程中,由于没有获得需要的锁或者cpu分配的时间片到用完了,不在执行,等待锁货cpu时间片的状态

   结束:线程正常结束或由于异常原因退出

    

   

    

     

        

 

     

  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值