线程

作者: 来搞事情 | 来源:发表于2018-10-09 14:48 被阅读0次

线程和进程的区别

进程是资源分配的基本单位,程序没执行一次就是一个进程,会分配单独的资源比如内存,网络,IO等
线程是程序执行的基本单位,是CPU调度的单位,一个进程可以由多个线程构成,线程之间可以共享资源,也有线程私有的内存。

进程间通信

1、信号量
2、共享存储(db,文件等)
3、消息队列

线程间通信

1、锁
2、wait/notify
3、队列(生产者消费者)

java线程的调度方式

java的线程都统统映射到了系统的轻量级进程上,一对一的关系,而每一个轻量级进程都对应一个内核线程,所以java的线程实际上是映射到了内核线程上。

线程状态

微信截图_20181009143654.png
Linux查看线程状态
1、先用top命令查出进程的id
2、使用top -H -p pid 查看进程内各个线程的资源占用
3、使用jstack打印线程堆栈,将第二步查到的线程的id转成10进制,因为是16进制的,在打印的线程堆栈里面找对应的nid。
4、可以在堆栈里面找到对应线程的执行情况,状态信息。

线程的状态有一下几种
1、new一个线程后是new状态
2、调用start方法后处于Runnable状态,如果不需要去申请什么资源,就是ready状态,如果拿到了CPU的时间片,就是running状态
3、如果调用了sleep(time),wait(time),join(time),park那么就处于timewaiting,时间到了以后,如果是sleep的话,就恢复Runnable状态,其他的需要去申请锁,如果拿到了锁,就是Runnable状态,如果没有,就是阻塞状态。
4、如果是调用了wait(),join(),park,就处于waiting状态,需要notify或者notifyall唤醒,然后去申请锁,拿到了就是Runnable状态,没拿到就是blocked状态。
5、线程退出后是terminated状态。

相关文章

  • Android

    线程间通信 主线程和工作线程主线程和工作线程 工作线程与工作线程工作线程与工作线程 为什么主线程Looper.lo...

  • 三、操作系统之线程

    前言 什么是线程 引入线程的原因 线程的概念 线程和进程的关系 线程结构 线程有点 多线程模型 用户线程和内核线程...

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • 总结多线程与设计模式+synchronized+性能+高吞吐+死

    Java线程 Java语言的线程 何谓线程 线程启动 线程的暂时停止 线程的共享互斥 线程的协调 线程的状态转移 ...

  • 多线程编程

    摘要 线程概念,线程与进程的区别与联系学会线程控制,线程创建,线程终止,线程等待了解线程分离与线程安全学会线程同步...

  • java线程池

    线程VS线程池 普通线程使用 创建线程池 执行任务 执行完毕,释放线程对象 线程池 创建线程池 拿线程池线程去执行...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

  • Java线程池的使用

    线程类型: 固定线程 cached线程 定时线程 固定线程池使用 cache线程池使用 定时调度线程池使用

  • 线程基础知识

    线程学习 线程的基础知识 线程是什么? 线程和进程的关系 线程的6个状态 线程优先级 主线程、多线程、后台线程的概...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

网友评论

      本文标题:线程

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