java——线程
2018-12-11 09:05:22来源:博客园 阅读 ()
线程与进程
1.线程:程序中单独顺序的控制流
线程本身是通过程序进行运行
线程是程序中的顺序控制流,只能使用分配给程序的资源与环境
2.进程:执行中的程序
一个进程可以包含一个或多个线程
一个进程至少要包含一个线程
3.单线程:程序中只存在一个线程,实际上主方法就是一个线程
4.多线程:多线程是一个程序中执行多个任务
多线程目的是更好地使用CPU资源
线程的实现
1.继承Thread类
2.实现Runnable接口
Thread类在java。lang包中定义,继承Thread必须重写run()
Runnable接口最后还是要调用Thread执行
线程的状态
创建状态:准备好了一个多线程对象
就绪状态:调用start(),等待CPU进行调度
运行状态:执行run()
阻塞状态:暂停执行,可能将资源交给其他线程使用
终止状态(死亡状态):线程销毁
常用方法:
取得线程名称:getName()
取得当前线程对象:currentThread() ----->currentThread().getName 获取当前线程名称
判断线程是否启动:isAlive()
线程强制运行:join()
线程休眠:sleep()
线程礼让:yield() 执行到指定条件(比如说大于10),暂停当前线程,让其他线程执行
中断线程:interrupt()
线程暂停:wait()
唤醒线程:notify() notifyAll()
线程优先级:
xxxxxx.setPriority(你想要设置的优先级)
优先级范围是1~10,越大越优先(更可能最先执行,不是一定最先执行),默认为5
MAX_PRIORITY 10
MIN_PRIORITY 1
NORM_PRIORITY 5
生命周期:
线程池:
为什么要用线程池???
假设服务器完成一项任务所需时间为: 创建线程--T1
执行任务--T2
销毁线程--T3
if(T1+T3)远大于T2,建议使用线程池
线程池包括以下组成部分:
1.线程池管理器:用于创建并管理线程(创建、销毁、添加新任务)
2.工作线程:线程池中的线程,在没有任务时处于等待状态,可以循环地执行任务
3.任务接口:每个人物必须实现的接口,以供工作现场调度执行任务,
主要规定了任务的入口,任务执行后的收尾工作,任务的执行状态等...
4.任务队列:用于存放没有处理的任务,提供一种缓冲机制
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash