美文网首页
学习笔记2020-06-12

学习笔记2020-06-12

作者: 爱生活_爱拉芳 | 来源:发表于2020-06-12 17:13 被阅读0次

1.什么是进程?

进程是系统中正在运行的一个程序,程序一旦运行就是进程。

进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等。

2.什么是线程?

是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

3.线程的实现方式?

1.继承Thread类

2.实现Runnable接口

3.使用Callable和Future

4.Thread 类中的start() 和 run() 方法有什么区别?

1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程体,它包含了要执行的这个线程的内容, Run方法运行结束, 此线程终止。然后CPU再调度其它线程。

2.run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码; 程序中只有主线程——这一个线程, 其程序执行路径还是只有一条, 这样就没有达到写线程的目的。

5.线程NEW状态

new创建一个Thread对象时,并没处于执行状态,因为没有调用start方法启动改线程,那么此时的状态就是新建状态。

6.线程RUNNABLE状态

线程对象通过start方法进入runnable状态,启动的线程不一定会立即得到执行,线程的运行与否要看cpu的调度,我们把这个中间状态叫可执行状态(RUNNABLE)。

7.线程的RUNNING状态

一旦cpu通过轮询货其他方式从任务可以执行队列中选中了线程,此时它才能真正的执行自己的逻辑代码。

8.线程的BLOCKED状态

线程正在等待获取锁。

进入BLOCKED状态,比如调用了sleep,或者wait方法

进行某个阻塞的io操作,比如因网络数据的读写进入BLOCKED状态

获取某个锁资源,从而加入到该锁的阻塞队列中而进入BLOCKED状态

9.线程的TERMINATED状态

TERMINATED是一个线程的最终状态,在该状态下线程不会再切换到其他任何状态了,代表整个生命周期都结束了。

下面几种情况会进入TERMINATED状态:

线程运行正常结束,结束生命周期

线程运行出错意外结束

JVM Crash 导致所有的线程都结束

10.线程状态转化图

作者:享学课堂

链接:https://www.jianshu.com/p/3e88a5fe75f0

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • 学习笔记2020-06-12

    1.什么是进程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。 进程可以看成程序执行的一个实例。进程是系...

  • 2020-06-12 学习笔记之十一

    1、 学习强国平台学习,得积分42分,与第二名相差199分。 整理读书笔记之十一。 (1) 根据《中华人民共和国传...

  • 大连滕泰科技学习笔记2020-06-12

    1,注解 如何自定义注解?自定义注解应该遵循那些规则?基本类型String枚举Class 属性方法的名词publi...

  • 2020-06-18

    2020-06-16 2020-06-15 2020-06-14 2020-06-12 2020-06-10 ‘夫...

  • MARKDOWN学习笔记

    标题 # MARKDOWN学习笔记 MARKDOWN学习笔记 MARKDOWN学习笔记- MARKDOWN学习笔记...

  • 2020-06-19

    2020-06-18 2020-06-16 2020-06-15 2020-06-14 2020-06-12 20...

  • 2020-06-16

    2020-06-15 2020-06-14 2020-06-12 2020-06-10 ‘夫妻日记 2019年10...

  • 2020-06-16

    2020-06-15 2020-06-14 2020-06-12 2020-06-10 ‘夫妻日记 2019年10...

  • ReactNative学习笔记(从基本概要到控件间传值)

    ReactNative学习笔记1.1 ReactNative学习笔记1.2 ReactNative学习笔记1.3 ...

  • Kotlin学习笔记:类和接口

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

网友评论

      本文标题:学习笔记2020-06-12

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