2.java高级特性之多线程
2.java高级特性之多线程
[TOC]
一 概述
3 常识
3.1 线程和进程
进程是受操作系统管理的基本运行单元,比如qq;线程可以理解成进程中独立运行的子任务,比如qq的传输数据、下载文件、发送表情等。
多线程程序是乱序执行。因此,只有乱序执行的代码才有必要设计为多线程。
当线程处于被阻塞或等待状态时,它暂时活动。它不运行任何代码且消耗最少的资源。
java对多线程处理的支持是在对象这一级支持的,所以一个执行线程可表达为一个对象
3.2 线程优先级
优先级对jvm来说只是建议,最终执行还是看jvm的
三 基础
jvm中的main线程和main方法只是名字相同而已
关于thread.start()和thread.run(),前者是把线程交给“线程规划器”,是异步的;后者是交给main主线程,那么就是同步的,这个有待考证
创建线程的三种方法:
继承
实现Runnable接口
五 经验
线程中的run方法并不会立刻执行完,比如a线程有个方法循环输出10次“hello world”,那么可能输出不到10次就去执行b线程的方法了,我之前竟然以为会执行完
七 未整理
不能用try,catch来获取线程中的异常?
守护线程?
心跳检测?
Last updated
Was this helpful?