【一分钟知识】进程与线程,Thread的sleep与wait

java思维导图

xmind导图配合精美文章,可视化学习,让java不再难懂。

进程与线程

  • 进程
    • 是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;
    • 进程在执行时通常拥有独立的内存单元
  • 线程
    • 是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。
    • 线程的划分尺度小于进程,这使得多线程程序的并发性高;
    • 线程之间可以共享内存
    • 使用多线程的编程通常能够带来更好的性能和用户体验,但是多线程的程序对于其他程序是不友好的,因为它可能占用了更多的CPU资源。
    • 当然,也不是线程越多,程序的性能就越好,因为线程之间的调度和切换也会浪费CPU时间。

Thread类的sleep()方法和对象的wait()方法区别

  • sleep()
    • 方法(休眠),是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。
  • wait()
    • 是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张戈的专栏

Linux基础知识之xargs命令

昨天在给服务器做年终“大扫除”整理时,发现有个目录下因为文件过多而删除失败,最终使用 xargs 才搞定,于是顺便来记录下。 在执行某些命令时,当 Linux ...

38512
来自专栏友弟技术工作室

bash及其特性

1273
来自专栏二进制文集

Java 虚拟机面试题全面解析(干货)

本文固定链接:https://www.zybuluo.com/Yano/note/321063 本文 PDF 下载:http://download.csdn....

1642
来自专栏LanceToBigData

linux(六)之文本操作

接下来我们一起来看一下再linux中怎么去对文本进行操作的 一、文本文件 既然要操作文本,所以我们要对文本有一个了解,那什么是文本文件呢。 文本文件是一种由若干...

2586
来自专栏用户2442861的专栏

Linux下动态库(.so)和静态库(.a) 的区别

动态库(共享库)的代码在可执行程序运行时才载入内存,在编译过程中仅简单的引用,因此代码体积比较小。

1.9K1
来自专栏python学习路

八、线程和进程 什么是线程(thread)?什么是进程(process)? 线程和进程的区别?Python GIL(Global Interpreter Lock)全局解释器锁

什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一...

4627
来自专栏企鹅号快讯

Python的线程

本文是基于Py2.X 线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 多线程类似...

2278
来自专栏技术沉淀

命令行工具:文件初探

1333
来自专栏程序员同行者

django基础之二

1344
来自专栏CDA数据分析师

学会这几招,轻松掌握Python文件管理

一、Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分。Python可以使文件管理极其简单,特别是和其它语言相对比。 以下,Peyton ...

2986

扫码关注云+社区

领取腾讯云代金券