Java-关于Thread
1)进程是受操作系统管理的基本运行单元,线程是进程中独立运行的子任务
2)Thread.start()方法通知线程规划器,告知其该线程已经准备完成,可以调用其run方法,这时就是异步的方法;如果直接调用run,就没有交给线程规划器,就是同步方法。另外,执行start的顺序并不是线程启动的顺序。
3)在jvm中i--有三步操作:1、取出i的值;2、做减法;3、赋予i值
4)isAlived方法是检测线程是否属于活动状态
5)sleep的作用是指定毫秒数内让当前正在执行的线程休眠,正在执行的线程指的是this.currentThread返回的线程
6)getID方法是获取线程的唯一标识
7)Thread.stop停止线程,但是并不是线程安全的(调用Thread.stop时会抛一个ThreadDeath异常,通常不需要处理该异常,强制stop会释放锁(线程处理数据没处理完,处理到一半就释放锁了,线程就退出了,这是数据是不正确的),会对正在处理的同步数据造成破坏,出现不一致结果。)
8)利用Thread.interrupt中止线程是安全的,但interrupt并不是立即停止,而是在当前线程中打一个停止标记
9)this.interrupted判断当前线程是否是中断状态,执行后具有将状态标志清除的功能,也就是说,连续两次执行this.interrupted,第二次得到的结果必定是false;this.isInterrupted判断当前线程是否是中断状态,执行后不具有将状态标志清除的功能
10)停止线程的方法:
A)线程里是一个for循环,for循环一直判断线程是否interrupted,如果被外部中止了,break结束for循环,然后继续走for后面的语句,然后run方法就结束了;
B)线程里是一个for循环,for循环一直判断线程是否interrupted,如果被外部中止了,抛出一个异常,catch住,然后就结束run方法了;
C)线程在sleep的时候,外部执行interrupt方法中止线程,会抛InterruptExpection,可以catch这个异常,然后退出;
D)暴力停止,Thread.stop;
E)使用return停止线程
推荐用抛异常的形式结束线程,这样可以保证线程退出这个事件一直传播出去
11)suspend暂停线程,resume恢复线程。suspend和resume如果使用不当,极容易造成线程永远暂停,暂停后,线程的同步锁是无法被释放的
12)yield方法是放弃当前的CPU资源,将它让给其他任务去占用CPU执行时间,但放弃时间不确定,有可能刚刚放弃,马上就获得了CPU时间片
13)在操作系统中,可以给线程确定优先级,优先级较高的线程得到的CPU资源较多,为线程设置优先级,有利于线程规划器确定下一次选择哪个线程来优先执行。setPriorty方法可以设置线程的优先级,在1-10中间选择。线程优先级具有继承特性,例如A线程启动B线程,B线程与A线程的优先级相同。优先级具有规则性,高优先级的线程总是大部分先执行完,但不代表高优先级的线程全部先执行完;优先级具有随机性,优先级较高的线程不见得每次都先执行完
14)守护线程是一种特殊的线程,当进程中不存在非守护线程了,守护线程就退出了。典型的线程是垃圾回收线程,当进程中没有非守护线程(用户线程)时,就没有垃圾回收的意义了,垃圾回收线程就自行销毁了。

Java-关于Thread的更多相关文章
- java 线程 Thread 使用介绍,包含wait(),notifyAll() 等函数使用介绍
(原创,转载请说明出处!谢谢--http://www.cnblogs.com/linguanh/) 此文目的为了帮助大家较全面.通俗地了解线程 Thread 相关基础知识! 目录: --线程的创建: ...
- Java 6 Thread States and Life Cycle.
Ref: Java 6 Thread States and Life Cycle This is an example of UML protocol state machine diagram sh ...
- 对java的Thread的理解
最好不适用线程的子线程,直接调用线程,然后用rannable接口 然后如果要公用一个参数,就是公用资源的时候,一定要在run方法的前面加上synchronized 例子 猫和狗喝同一杯水(共用资源的问 ...
- Java线程Thread的状态解析以及状态转换分析 多线程中篇(七)
线程与操作系统中线程(进程)的概念同根同源,尽管千差万别. 操作系统中有状态以及状态的切换,Java线程中照样也有. State 在Thread类中有内部类 枚举State,用于抽象描述Java线程的 ...
- 转载:java中Thread.sleep()函数使用
点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...
- 线上zk节点报org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:187) at java.lang.Thread.run(libgcj.so.10)
线上zk做配置管理,最近突然发现两个节点一直在刷下边 java.nio.channels.CancelledKeyException at gnu.java.nio.SelectionKeyIm ...
- [Java多线程]-Thread和Runable源码解析
多线程:(百度百科借一波定义) 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提 ...
- Java并发--Thread类详情
以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 转载原文链接:http://www.cnblogs.com/dolphin0520/p/3920357.html 一 ...
- Java 线程--继承java.lang.Thread类实现线程
现实生活中的很多事情是同时进行的,Java中为了模拟这种状态,引入了线程机制.先来看线程的基本概念. 线程是指进程中的一个执行场景,也就是执行流程,进程和线程的区别: 1.每个进程是一个应用程序,都有 ...
- java之Thread Dump分析
什么是Thread Dump Thread Dump是非常有用的诊断Java应用问题的工具.每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机 ...
随机推荐
- css加载动画...
加载动画... <p>加载动画...</p> <p> </p> <p> </p> <style><!-- .c ...
- 元素定位(d4-2)
一,元素定位①优先级:首先选择id,其次选class,再就是根据其他唯一元素,在更加层级过滤定位,根据多属性定位,②首选CSS定位,在选XPATH定位 1.xpath定位 //* 获取当前网页全部 ...
- vue-cli模拟后台数据交互
作为一个前端入坑的妹子,在学习vue的道路上挣扎徘徊,由一开始的对vue一直蒙圈只知道双向数据绑定和一些'V-x'的指令,慢慢通过一个视频的学习渐渐入坑,对于我这个js基础不怎么好而且编程思维又不是很 ...
- 运用JS判断代码可以参考学习
JAVAScript代码加CSS和HTML <%-- Created by IntelliJ IDEA. User: zengxiangcai Date: 2018/6/27 Time: 11: ...
- JavaScript 常见错误
1. 严格缩进 JavaScript 会自动添加句末的分号,导致一些难以察觉的错误 return { key: value }; // 相当于 return; { key: value }; 2. 括 ...
- Wireshark简单使用教程1——附视频
目录 Wireshark的简介 Wireshark面向的用户 Wireshark的下载安装 Wireshark抓取一个流量包 内容 1.Wireshark的简介 Wireshark(前称Etherea ...
- Linux之使用mount挂载ISO镜像
Liunx系统中如果不方便把ISO镜像放在CDROM中进行挂载可以把对应ISO镜像上传至主机使用mount命令挂载 系统环境查看 上传镜像后挂载 mount -o loop ubuntu-18.04. ...
- Linux系统的命令应该如何记?
Linux入门篇: 很多刚入门的同学,就像无头的苍蝇一样,到处找视频.书籍.网站帖子之类的学习方式,视频虽然讲得详细,但是时间的投入也是巨大的,播放时间,练习时间,加起来很吓人,其实啊很少有人能坚持把 ...
- App Store评论优化,让你的APP评论上涨
App Store评论优化怎么做 App Store评论优化,让你的APP评论上涨 关于「ASO评论优化」,主要分为三块.换评论,买评论,引导用户写评论. 可能有些刚接触ASO的朋友会问,为什么要给A ...
- docker上配置mysql主从复制
1.在docker上启动2台mysql容器:(这里3306为主,3307为从) docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 - ...