`
qindongliang1922
  • 浏览: 2147017 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116317
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124587
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58449
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70347
社区版块
存档分类
最新评论

线程的基本知识总结

    博客分类:
  • JAVA
阅读更多

### (一)创建线程的方式

(1)实现Runnable接口

(2)继承Thread类

推荐使用接口,能够做到定义与实现分离,耦合更低


### (二)关于线程的优先级

  thread2.setPriority(Thread.MAX_PRIORITY)

  等级越高,优先运行


### (三)关于线程的yield的方法

关于yield方法,是指当前线程可能运行不太重要的任务,可以通过这个方法
暗示操作系统线程调度我可以晚点执行,先把CPU资源让给优先级给我一样或者大于我的
任务,如果没有没有发现符合条件的线程,那么还会执行该线程的任务


### (四)关于线程的join方法

在main方法中,启动一个线程A,如果执行了A.join()方法,那么
主线程必须等待A线程执行完,才能执行join之后的代码。


### (五)关于线程的sleep方法

让当前线程沉睡一定的周期

### (六)关于线程的interrupt方法

用来告诉某个线程应该停止,如果这个线程当前正在执行wait,sleep,join方法时会抛出InterruptedException
,如果正常状态下,我们可以通过isInterrupted()=true的时候,来停止线程使用return方法


### (七)关于线程的start和run方法

注意,要让线程运行,只能执行start方法,这个方法是native方法,run方法是我们定义
任务的地方,单独的调用run方法,就和调用正常方法是一样的。

start方法只能调用一次,超过一次则会抛出不合法状态异常。

### (八)关于线程的状态


在Oracle的官网文档中,定义了线程有六种状态分别是:

(1)NEW,执行new Thread()后,还没启动的线程

(2)RUNNABLE ,执行完new后,又执行了start方法

(3)BLOCKED  等待获得一个锁的监视器,或者等待进入一个同步块或者方法

(4)WATTING  等待其他的线程执行一个特定的操作,没有任何时间限制

(5)TIMED_WAITING 等待其他的线程在一定的时间周期内

(6)TERMINATED   完成任务后的线程


这有一幅图,总结的比较全面大家可以看下:





(九)总结


本篇文章主要介绍了Java里面一些线程基本的方法和概念,最后又叙述了关于线程运行时的状态,尤其是线程调度这块依赖底层的操作系统,在不同的系统上运行可能得到不同的结果,这一点需要注意。




有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs) 路漫漫其修远兮,吾将上下而求索




0
0
分享到:
评论

相关推荐

    VC 线程基础知识总结

    介绍了AfxbeginThread CreateThread的区别及使用方法

    线程基础知识总结分享

    Thread ThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThreadThread

    java基础知识总结(经典)

    主要介绍了java的基本语法,设计模式,线程,并且在实际开发中的注意事项,非常适合初学者。

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    jvm的基础知识总结

    jvm的基础知识总结,根据线程共享和线程私有来划分,进行分别描述和具体参数解释和设置,可以更好的学习jvm的基础知识,方便以后运用

    JAVA基础知识总结

    对java的基础知识进行了详细的总结,内容从基础数据类型到单例设计模式、内部类、多线程等容易被忽视的知识点都有介绍。以及集合框架和反射的知识点

    java基础知识总结

    非常全的java基础知识总结,包括线程,IO,堆栈,内部类,匿名类,面试题等等

    corejava基础知识复习与总结

    java基础知识的总结文档,总结的挺好的,拿出来共享下!

    Java最全知识总结思维导图

    思维导图:数据库,思维导图,多线程,IO,网络,集合,面向对象,基础知识点都是最全的总结,格式是xmind格式的,用百度脑图可以直接打开。

    java线程的基本知识

    个人总结,一些java线程的基本心得,特别适合初学小白,希望可以有帮助

    c# 面试必备线程基础知识点

    所以想到一个点写一个点,尽量总结一些有用的知识点。线程是个大话题,这个系列可能会有好几遍关于线程的,先从基础的开始,热热身。 一些基础概念 线程(Thread)是操作系统能够进行运算调度的最小单位。它是进程...

    JAVA面试提纲包括JAVA基础知识总结、数据结构、JVM、多线程等

    之前前辈传下来的复习提纲,帮助校招生找到好的...其中校招真题题解,JAVA IO,JAVA 并发,JAVA 基础,JAVA容器,JVM Leetcode、LINUX,Mysql,代码风格规范,计算机操作系统、算法、剑指offer、面向对象思想、设计模式

    linq以及ORM与多线程基础知识

    主要是C# 数据库操作基础内容,linq to sql ORM框架以及EF体系结构,内容里有一些附件不能一并上传,不过有问题可以自己动手搜索单个理解也许更有成效。本人推荐C#链接数据库使用EF模型即可。需要帮助可以添加群 ,...

    Android开发基础知识总结

    最近系统学习了Android开发基础知识,并对其进行了总结。主要包含Android的UI组件、初高级资源、网络编程及Internet应用、多线程以及Service等后台操作、Handler消息处理机制、Handler和looper的关系、Android的数据...

    java编程语言基础知识总结

    java语言的基础知识,包括基础语法,数据类型,类,接口,继承,多态,线程,以及部分高级特性和特殊数据结构,适合初级和中级程序员参考和面试知识储备。

    Java知识点总结大全(三) -- 多线程.xmind

    Java知识点总结大全(三) -- 多线程.xmind,其他里面还有基础知识,面向对象,io,集合,网络,sql的总结

    第二次学习总结-多线程多进程学习.docx

    刚接触linux的多线程编程,总结基础知识并编写socket通信的多线程多进程代码,已经验证可行,包括共享队列、套接字、循环队列、Makefile编写、动态库静态库编译和使用等。具体代码请看多线程多进程的事例分享。

    css 基础知识总结以及demo

    可以和其它、JS文件以及内的内容进行多线程加载,使得加载速度更快 利于项目整体风格的调整,维护起来也更加便捷。单文件修改,全网站(应用)生效 浏览器会将CSS文件进行缓存,进一步地减少了加载所需时间 可以根据...

    JavaSE重点知识总结精华(全)

    基本操作 Java基础 面向对象 多线程 String类 集合 IO socket网络编程 反射 泛型 你想要的通通都在这里

Global site tag (gtag.js) - Google Analytics