java多线程编程
2015-08-09 16:21
369 查看
多线程编程首先需要掌握几个概念:
进程:进程就是一个正在执行的程序(比如我们常说的QQ.exe,我们可以再任务管理器中看到进程)
线程:在一个进程中正在执行的程序(比如我们同时打开的QQ聊天窗口,就一回个线程)。一个进程中可以有多个线程。
线程的几种状态: 线程的生命周期:
在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。
第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态new
Thread。
第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前 线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。就绪状态就是线程处于等待执行的状
态runnable。
第三是运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代 码running。
第四是阻塞状态。线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。 sleep,suspend,wait等方法都可以导致线程阻塞blocked。
第五是死亡状态。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死亡的线程,无法再使用start方 法 令其进入就绪,dead
说到这里就需要 提下:精灵线程也叫守护线程。守护线程是在后在运行的线程.比如java的垃圾回收器。如果非守护线程全部执行完成之后,守护线程将停止运行。
进程:进程就是一个正在执行的程序(比如我们常说的QQ.exe,我们可以再任务管理器中看到进程)
线程:在一个进程中正在执行的程序(比如我们同时打开的QQ聊天窗口,就一回个线程)。一个进程中可以有多个线程。
线程的几种状态: 线程的生命周期:
在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。
第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态new
Thread。
第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前 线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。就绪状态就是线程处于等待执行的状
态runnable。
第三是运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代 码running。
第四是阻塞状态。线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。 sleep,suspend,wait等方法都可以导致线程阻塞blocked。
第五是死亡状态。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死亡的线程,无法再使用start方 法 令其进入就绪,dead
说到这里就需要 提下:精灵线程也叫守护线程。守护线程是在后在运行的线程.比如java的垃圾回收器。如果非守护线程全部执行完成之后,守护线程将停止运行。
相关文章推荐
- Spring JdbcTemplate笔记
- 华为机试——两个超长正整数的加法 java
- 华为机试题 最小长方形 java 转载
- java多线程零碎知识点
- java中使用字符串或者动态创建对象的三种方法(Class,Constructor,Proxy)
- java jdbc
- 【测试自动化6】城市电话号码 java
- Java设计模式 -- 简单工厂模式(SimpleFactory)
- 怎么用eclipse生成jar文件?eclipse导出jar介绍
- Java聊天模拟
- Java集合使用
- Java关键字instanceof
- java线程总结
- Java学习--(六)数组
- Spring源码学习-4.IoC容器其他特征分析
- Spring_database_Template
- 《深入浅出struts2》--第二十四章,Tiles插件
- 不使用Cygwin,在eclipse中快速开发JNI,一键生成C头文件.h,以及一键使用NDK交叉编译
- 字符串的全排列(java)
- 《Java从入门到精通》第十三章学习笔记