`
- 浏览:
23364 次
- 性别:
-
线程的基本知识
1.程序 进程 线程
程序:硬盘上一组相关联的的文件的集合,该文件是可执行的
一个程序内部可能包含多个进程
进程:正在运行的程序。一个程序执行后,可以启动多个进程。
线程:一个进程内部并行的运行单元
2.线程继承的步骤:
1.继承thread
2.调用run方法
3.如果线程需要外部参数,只能通过构造方法传进去
4.调用start方法启动线程
3.线程的创建和启动
3.1 线程的创建 方式一:继承Thread类
class A extends Thread{
public void run(){
}
}
调用线程
A a= new A();
a.start();
***********************************
3.2 方式二:实现runnable接口
class B implements Runnable{
public void run(){
}
}
runnable方式的调用
1.创建runnable对象
2.将runnable对象包装成Thread对象;
3.启动包装后的对象
B b = new B();
Thread t = new Thread();
t.start();
---------------------------
3.3 通过定时任务启动线程
1、定义一个定时任务类
public c extends TimerTask{
public void run(){
}
}
2、调用定时任务
创建定时器对象
Timer time = new TImer();
创建任务对象
C c= new C();
执行定时任务
t.schedule(c,1000,2000)
//延迟一秒执行,之后每隔2秒执行一次
***********************************
4.线程的状态:
new Thread(创建状态):当线程对象被创建的时候
Runnabl(就绪、可运行状态):当调用完线程的start()后
Running(运行时状态):线程的run方法正在执行
not Running(挂起状态,非运行状态,阻塞状态,暂停状态):·线程处于sleep,wait的时候
Dead(死亡状态,终止状态):线程的run方法执行完毕,自然终止
5.线程的通信
监视线程
生产/消费 wait/notify机制
6.同步和异步(线程有自己的内存,共享的是进程的内存)
同步:线程不同时运行,有先后顺序(在一些特定的地方要求线程同步,例如:银行取钱,买票)
异步:线程并行,某个程度指 线程同时运行
线程同步的实现
1,锁住某个代码块
synchronize(需要同步的对象){
需要同步的代码
}
2,锁住某个方法
public synchronize voi(){
方法体;
}
3,使用所对象
Lock l = new Lock();//创建锁
l.lock();//上锁
需要同步的代码块;
l.unlock();//解锁
5.线程的暂停,停止模型
线程的暂停:
sleep(1000);//休眠1000毫秒
wait();
线程的停止:必须是run方法自然结束
多线程游戏需要暂停
run(){
while(是否停止){
if(是否暂停){
逻辑代码
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
人工智能-项目实践-多线程-java基础进阶。包括:socket,多线程,反射,servlet,动态代理等高级知识 java基础进阶。包括:socket,多线程,反射,servlet,动态代理等高级知识
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
"Java高级程序设计实验报告-FTP服务器设计与实现-多线程版.zip" 是一份非常有价值的资源,它代表了深度学习和实际实践的结晶,对于任何对Java编程和网络技术感兴趣的人来说,都具有巨大的价值。 这个ZIP文件包含了...
Java高级技术整理,包含多线程、虚拟机、JAVA IO/NIO 、Java集合 等高级进阶知识点
本次分享的资源涵盖了Java面试的各个方面,从基础知识到高级技术,从数据库到框架应用,都做了深入的探讨和总结。具体内容包括: Java基础知识点:包括数据类型、面向对象特性、异常处理、集合框架等。 Java核心...
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
在一个Java程序内启动多条线程;练习;使用Runnable接口创建线程时指定和取得线程名称;The Thread Class ;继承Thread类创建线程类;继承Thread类创建线程类;在一个Java程序内启动多条线程;继承Thread类时设置线程的名字...
并发编程技术高级-编写正确的程序并不容易,而编写正常的并发程序就更难了。...并发编程相比 Java 中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;此文档帮助你更好地学习并发编程。
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
java多线程、反射、代理等基础知识详细介绍,通过此文档可快速进阶为中级工程师
详细介绍java并发编程相关知识: 基础知识 ...高级线程协作工具 信号量 闭锁 关卡 fork-join Executor部分 Executor基础 ThreadPoolExecutor的定制 线程的中断与任务的取消 其他
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客...包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE
完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt 完整版 Java高级教程 Java语言程序设计 第4章 Java泛型(共10页).ppt 完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页)...
包括Java高级编程部分: 图形界面编程的知识 多线程 (支持多人操作)例如qq IO流 输入输出流 异常 网络编程 API的使用、集合等有笔记,源代码,示例程序
《Java高级复习笔记-程序阅读题.docx》是一份宝贵的学习资源,特别适合那些希望深入理解和掌握Java高级编程概念的学习者和开发者。以下是对这个资源的详细描述: 深度理解编程概念:这份文档提供了一系列程序阅读...
Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 特别适合新入门自学的新手同学,也适合老手回顾学习,巩固知识 第1章 Java语言概述 第2章 基本语法 第3章 面向对象编程 第4章 高级类特性1 第5...