1. run方法是线程的任务处理逻辑的入口方法,它由java虚拟机在运行相应线程时直接调用,而不是由应用代码进行调用。

2. 启动一个线程的实质是请求java虚拟机运行相应的线程,而这个线程具体何时能够运行是由线程调度器(Scheduler)(线程调度器是操作系统的一部分)决定的。

3. 在java平台中,一个线程是一个对象,对象的创建离不开内存空间的分配. 创建一个线程与创建其他类型的java对象所不同的是,java虚拟机会为每个线程分配调用栈(call stack)所需的内存空间。调用栈用于跟踪java代码(方法)间的调用关系以及java代码对本地代码(Native Code, 通常是C代码)的调用。

4. java平台中的任意一段代码(比如一个方法)总是由确定的线程负责执行的,这个线程就相应地被称为这段代码的执行线程。

5. 多个线程实例可以共享同一个Runnable实例,这时候就会出现线程安全问题。

6. 线程的层次关系:   java平台中,线程不是孤立存在的,线程与线程之间总是存在一些联系。假如A线程所执行的代码创建了线程B,那么习惯上称线程B为线程A的子线程,相应的线程A就被称为线程B的父线程。

Thread.java源码中的枚举类State

 public enum State {/*** Thread state for a thread which has not yet started.*/NEW,/*** Thread state for a runnable thread.  A thread in the runnable* state is executing in the Java virtual machine but it may* be waiting for other resources from the operating system* such as processor.*/RUNNABLE,/*** Thread state for a thread blocked waiting for a monitor lock.* A thread in the blocked state is waiting for a monitor lock* to enter a synchronized block/method or* reenter a synchronized block/method after calling* {@link Object#wait() Object.wait}.*/BLOCKED,/*** Thread state for a waiting thread.* A thread is in the waiting state due to calling one of the* following methods:* <ul>*   <li>{@link Object#wait() Object.wait} with no timeout</li>*   <li>{@link #join() Thread.join} with no timeout</li>*   <li>{@link LockSupport#park() LockSupport.park}</li>* </ul>** <p>A thread in the waiting state is waiting for another thread to* perform a particular action.** For example, a thread that has called <tt>Object.wait()</tt>* on an object is waiting for another thread to call* <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on* that object. A thread that has called <tt>Thread.join()</tt>* is waiting for a specified thread to terminate.*/WAITING,/*** Thread state for a waiting thread with a specified waiting time.* A thread is in the timed waiting state due to calling one of* the following methods with a specified positive waiting time:* <ul>*   <li>{@link #sleep Thread.sleep}</li>*   <li>{@link Object#wait(long) Object.wait} with timeout</li>*   <li>{@link #join(long) Thread.join} with timeout</li>*   <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li>*   <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li>* </ul>*/TIMED_WAITING,/*** Thread state for a terminated thread.* The thread has completed execution.*/TERMINATED;}

7.  多线程编程的实质就是将任务的处理方式由串行改为并发,即实现并发化,以发挥并发的优势。

《java多线程编程实战指南 核心篇》读书笔记一相关推荐

  1. 卓有成效的程序员 阅读笔记 第一部分

    第一部分 机制 第二章 加速法则 加载器(Launcher)允许你输入应用程序或文档名称的第一部分来加载它:一个应用程序列表的有用程度与它的长度成反比 花点时间来学习你手边所有隐藏的快捷键 命令提示符 ...

  2. ThoughtWorks(中国)程序员读书雷达

      软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识.世界上并不存在速成的终南捷径,但阅读好的技术书籍 ...

  3. 张逸:ThoughtWorks(中国)程序员读书雷达

    2013/06/20 ·  书籍与教程, 开发· 6.6K 阅读·  书籍, 架构设计, 编程, 领导力 原文出处: 简单文本-张逸   欢迎分享原创到伯乐头条 软件业的特点是变化.若要提高软件开发的 ...

  4. 张逸: ThoughtWorks(中国)程序员读书雷达

    原文出处: 简单文本-张逸 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识.世界上并不存在速成的终南 ...

  5. 程序员的共鸣 - 读《卓有成效的程序员》

    最近读了<卓有成效的程序员>,感觉收获颇大.这是一本写给程序员的难得的好书.书中大都是一些浅显的道理,但作者将这些东西加以收集.归纳.总结,并最终成书.作者为了收集各种提高效率的工具和方法 ...

  6. 读《卓有成效的程序员》-----我的一些题内和题外的感想

    读<卓有成效的程序员>-----我的一些题内和题外的感想 本文出自:http://hi.baidu.com/xiaonan33309/blog/item/c708c901a50d940b7 ...

  7. 卓有成效的程序员(影印版)

    卓有成效的程序员(影印版) 一本揭示高效程序员的思考模式,一本告诉你如何缩短你与优秀程序员的差距 定价 : ¥42.00会员价 : ¥31.50(75折) 详情查看:http://www.china- ...

  8. [黑马程序员C++笔记]P72-P83通讯录管理系统

    目录 系统需求 1.菜单功能 2.退出功能 3.添加联系人 (1)​​​​​​​设计联系人结构体 (2) 设计通讯录结构体 ​​​​​​​(3)main函数中创建通讯录 (4)封装添加联系人函数 (5 ...

  9. [黑马程序员C++笔记]P72-P83通讯录管理系统总体概览

    系统需求 通讯录是一个可以记录亲人.好友信息的工具. 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名.性别.年龄.联系电话.家 ...

  10. php末尾友链,与php程序员的笔记网站交换友链的原则

    很抱歉,由于本网站首页友链已满,目前停止交换首页友链,内页仍可交换友链!(2013年2月24日) 随着本站友链的数量不断增多,本人不得不对本站的友链申请的原则进行郑重的申明一下,希望各位申请本站友链的 ...

最新文章

  1. SpringBoot+Mybatis+Swagger2环境搭建
  2. matlab 灰色预测(有点离谱)
  3. IE-OLD IE 提示
  4. 斗地主(深搜+贪心+剪枝)
  5. android按钮点击无响应时间,AndroidStudio下的点击事件不响应
  6. 【Java】统计字符串中每个字符出现的次数
  7. 虎牙李萌:网络视听内容的工业化生产正在提速
  8. ubuntu 安装 swift 64位
  9. ip 地址 192.168.1.255 代表( )。_如何批量ping大量ip地址?一个软件搞定
  10. IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)
  11. 老男孩linux高级架构 百度云盘下载
  12. 全民 Transformer (二): Transformer在深度学习和NLP中如何发挥作用
  13. 百度初级认证考试知识点
  14. python ocr文字识别竖排繁体_古籍族谱繁体竖排中文识别图文攻略-千百OCR
  15. 解决开启TCP/IP筛选,使用Serv-u 需要开放的端口
  16. 语义分割常用指标详解(附代码)
  17. 大地测量的基准面和基准线
  18. kali linux手机版下载免root,不需要root在安卓完全安装metasploit
  19. unity本地分数排行榜简单解决方案(Json)
  20. PLC单个自复位按钮控制指示灯的6种方法,总有一种适合你,学到就是赚到。

热门文章

  1. mac 安装淘宝镜像报错之坑
  2. 数学建模中的excel操作
  3. 关于椭圆的积分变量替换
  4. Excel教程(12) - 数学和三角函数
  5. jQuery Mobile Slider Widget 使用js控制
  6. 修复efi引导的win7
  7. 设计模式方法VB.NET机房个人重构版-磨刀篇(一)
  8. C#学习笔记(C#与C++的差异)001
  9. movsb movsw movsd 指令详解
  10. 程序从命令行接收多个数字,求和之后输出结果。