美文网首页
并发专题 - Day23

并发专题 - Day23

作者: 小周爱吃瓜 | 来源:发表于2022-04-03 18:58 被阅读0次

    java里的线程.

    线程是程序运行资源分配的最小单位。
    是cpu调度对的最小单位,必须依赖进程存在。

    • cpu核心和线程数的关系.
      多核cpu指的是芯片多处理器,将大规模并行处理器集中到同一芯片,处理器并行执行不同进程.

    • java线程最终会调用到start方法,这是native方法,最终会调用到c++层面 pthread.start(),然后回调,run只是普通方法。

    用协程相当于在用户态自己完成资源的调度,这样会减少2w个时间单位。

    Screen Shot 2022-04-03 at 6.45.51 PM.png
    • 新建start方法后进入

    • 就绪 具备了执行条件,但是还没分配到cpu

    • 运行 获得了cpu

    • 阻塞 sleep,等待io设备,让出cpu并停止自己的运行

    • synchronized和wait对象要是同一个对象。 因为监视器要是同一个

    • hsdb可以查看jvm运行时状态

    • 线程顺序执行:
      join方法

    • 线程优先级:
      priority 1- 10,可以分配优先级,优先级大的可以分配到更多的cpu执行时间.

    • 资源分配
      协同式和抢占式:
      java就是抢占式的.
    • 线程中断 interrupt,可以通过标志位isInterrupt()来查看.

    • 线程间通信:

    1. volatile
    2. synchronized
    3. wait notify
    Screen Shot 2022-04-03 at 6.54.47 PM.png

    --

    • 复习:
      进程间通信:
      管道:父子进程通信
      信号:
      消息队列:
      共享内存:
      套接字socket:

    • 如何查看上下文:

    vmstat 1

    相关文章

      网友评论

          本文标题:并发专题 - Day23

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