Java的多线程
来源:互联网 发布:安卓动态桌面软件 编辑:程序博客网 时间:2024/05/23 15:06
Java的多线程(Thread)
程序、进程、线程:
程序是一段静态的代码。进程是程序的一次执行,它对应了代码从加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是代码的一条执行线索,一个进程在执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。
Java中的线程:
在Java语言中,Thread类及其子类创建的对象就是线程的具体实现。
Java中线程的生命周期:
新建的线程在它的一个完整的生命周期中通常要经历4种状态。
a.新建。
当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时,线程已经有了相应的内存空间和其它资源。
b.运行。
线程创建后仅仅是占有了内存资源,在JVM管理的线程中还没有该线程,该线程必须调用start()方法通知JVM,这样JVM就知道又有一个新的线程排队中。当JVM将CPU的使用权切换给线程时,Thread子类的run()方法就会被执行,run()方法规定了该线程的具体使命。
c.中断。
中断有4种:
c.1 JVM将CPU的使用权切换给其它线程。
c.2 执行了sleep()方法。
c.3 执行了wait()方法。
c.4 执行某个操作进入了阻塞状态。
d.死亡。
线程正常运行完它的全部工作,操作系统释放分配给线程的内存。
Java中创建线程的两种方式:
1.Thread的子类创建线程。
创建一个继承Thread类的子类,重写run()方法;子类对象调用strat()方法开启线程。
2.Runnable接口。
创建一个实现了Runnable接口的类,并实现它的run()方法;将这个实例类作为参数传递给Thread类的构造函数,创建一个Thread对象,Thread对象调用start()方法开启线程。
线程同步:
当有多个线程访问并修改同一变量时,我们需要使用线程同步,即某一时刻只允许一个线程对变量进行操作。
Java使用synchronized关键字处理线程同步问题,修改变量的所有方法用synchronized关键字修饰。
- Java 多线程(多线程的实现)
- Java多线程-多线程的引入
- Java多线程-多线程的引入
- 【Java】java的多线程
- JAVA多线程的控制
- Java的多线程机制
- JAVA 的多线程浅析
- 关于JAVA的多线程
- JAVA 的多线程浅析
- JAVA 的多线程浅析
- java多线程的理解
- JAVA 的多线程浅析
- JAVA的多线程
- JAVA的多线程
- JAVA 的多线程浅析
- JAVA 的多线程浅析
- Java的多线程机制
- java的多线程同步
- 阿里一面
- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin
- 1025.反转链表
- php运行机制
- JAVA基础----java中E,T的区别
- Java的多线程
- Android Studio SDK Download interrupted: Read timed out解决
- TC SRM662 div 2
- 【Cocos游戏实战】功夫小子第六课之游戏主功能场景的分析和实现
- 史上最全的程序员求职渠道总结
- JNI常见报错及解决方案汇总
- Html 语法学习笔记二
- 换零钱---编程马拉松
- Dual SVM (对偶支持向量机)