虽然微不足道但是很有用的JAVA基础—线程一
来源:互联网 发布:淘宝怎样改店名 编辑:程序博客网 时间:2024/06/05 20:31
进程 系统进行资源分配和调度的基本单位。
线程 偶尔也称作轻量级进程,是程序执行的最小单元。
一个进程中至少有一个线程。
一个线程可以操作另一个线程。
同一个进程中的多个线程可以并发执行。
线程的状态
1.初始状态:线程通过继承或者实现的方式初始化。
2.就绪状态:通过调用线程的start方法(线程中的run()只是一个普通的方法,调用run方法并不会启动一个线程)来启动线程,使线程进入就绪队列,即此时的线程获取了除CPU以外的所有资源,只等待CPU的调用(CPU调用线程并不是按顺序的,即使某些线程有着价高的优先级,也只能说该线程被分配CPU的几率较大,并不代表高优先级一定会被调用)。
3.运行状态:处于就绪队列的线程被分配到CPU后开始执行,运行中的线程能够转换为阻塞,就绪以及死亡状态。
4.阻塞状态:该线程暂时放弃了CPU资源,暂停运行,但是当阻塞原因消失后线程能够重新恢复运行,造成线程阻塞的状态有以下几种(如果不对或者不全面,请大家指正)。
1.线程通过调用sleep()方法进入阻塞状态。
2.线程试图操作一个正在被使用的锁。
3.线程调用一个在I/O上被阻塞的操作,比如等待用户输入(System.in)。
4.线程调用wait()方法,直到其他线程调用了notify()或者调用了notifyAll()方法。
5.死亡状态:线程正常执行直到结束或者一个未被捕获的异常导致程序的停止。
线程的创建
1.继承Thread
public void myThread extends Thread{ public void run(){ //方法体 }}
2.实现Runable接口
public void myThread implements Thread{ public void run(){ //方法体 }}
3.实现Callable接口
public void myThread implements Callable<返回值类型>{ public 返回值类型 Call(){ //方法体 }}
相对于继承以及实现来说,我会选择实现的方式来创建一个线程,因为Java是单继承多实现。
相对于Runable以及Callable方法,当我们的线程需要有返回值或者需要抛出异常的话,就需要实现Callable。
- 虽然微不足道但是很有用的JAVA基础—线程一
- 虽然微不足道但是很有用的JAVA基础—helloJava
- 虽然微不足道但是很有用的JAVA基础—关键字
- 虽然微不足道但是很有用的JAVA基础—函数
- 虽然微不足道但是很有用的JAVA基础—数组
- 虽然微不足道但是很有用的JAVA基础—包
- 虽然微不足道但是很有用的JAVA基础—配置java环境
- 虽然微不足道但是很有用的JAVA基础—编程语言的类型
- 虽然微不足道但是很有用的JAVA基础——集合简介
- 虽然微不足道但是很有用的JAVA基础—命名规则
- 虽然微不足道但是很有用的JAVA基础—注释与文档标记
- 虽然微不足道但是很有用的JAVA基础—数据类型及其转换
- 虽然微不足道但是很有用的JAVA基础—运算符
- 虽然微不足道但是很有用的JAVA基础—流程控制
- 虽然微不足道但是很有用的JAVA基础—类和对象
- 虽然微不足道但很是有用的JAVA基础—java是什么
- 虽然对各位大神来说微不足道 但是对于我来说是一点一点的成就
- 虽然是假的,但是我还是很高兴
- Android6.0权限和targetSdkVersion之间的关系
- 【Linux学习】之 Shell初识
- PHP反射机制原理与用法详解
- SSM环境下,获取指定数据库连接执行sql文件
- 【转】html 页面内锚点定位及跳转方法总结
- 虽然微不足道但是很有用的JAVA基础—线程一
- 类--对私有变量、私有方法的理解
- jboot
- java_se StringBuffer
- 计算机视觉三大顶级国际会议和国外知名期刊投稿
- os模块
- 【Java笔记】Week05 --- 常用类
- java7.5
- PHP操作MongoDB时的整数问题及对策说明