美文网首页
关于线程的一些记录

关于线程的一些记录

作者: _Morny | 来源:发表于2019-12-26 16:05 被阅读0次

    线程五种状态

    new: implements runnable  ;extends thread

    runnable:调用start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权running:  执行代码

    blocked: 放弃cpu使用权。等待阻塞:wait()方法同步阻塞:获取同步锁时,该锁被占用,被放到锁池中其他阻塞:运行sleep,join 或发出io请求时。

    dead: 执行完成或异常退出

    sleep yield  join wait

    sleep:当前线程进入阻塞,但不释放对象锁,millis后线程自动苏醒进入可运行状态

    yield:当前线程放弃获取的cpu时间片,由运行状态变会可运行状态,让OS再次选择线程.能不能抢到不管join:在自己当前线程加入你调用Join的线程(),本线程等待。等调用的线程运行完了,自己再去执行

    wait:当前线程释放对象锁,进入等待队列。依靠notify()/notifyAll()唤醒或者wait(long timeout)timeout时间到自动唤醒

    notify:唤醒在此对象监视器上等待的单个线程,选择是任意性的。notifyAll()唤醒在此对象监视器上等待的所有线程

    implements extends

    extends:Java是单继承机制,不允许同时继承多个类

    implements:多个线程共享一个对象

    star run

    star :变成可执行状态,真正实现了多线程运行run: 直接执行

    多线程就是分时利用CPU,宏观上让所有线程一起执行 ,也叫并发。

    相关文章

      网友评论

          本文标题:关于线程的一些记录

          本文链接:https://www.haomeiwen.com/subject/oaqloctx.html