java深入线程
来源:互联网 发布:多空资金指标源码 编辑:程序博客网 时间:2024/05/21 01:49
线程的概念:让程序一次执行多个动作的手段
创建线程的两种方法:①继承Thread类(无法多继承)
②实现Runnable接口(run()方法中不能调用thread()方法,例如sleep(),getName())
运行线程:Thread.start()
线程的优先权:如果两个线程都准备就绪,优先权高的线程先执行。设置线程的有限权:thread.setPriority(thread.getPriority()+1)。
线程的状态:
①创建状态
②就绪状态:调用start()方法,等待CPU调度
③运行状态:执行run()方法
④阻塞状态:暂时停止执行,把CPU资源留给其他线程
⑤终止状态:线程销毁
线程的常用方法:
①取得线程名称:getName()
②取得当前对象:currentThread()
③判断线程是否启动:isAlive()
④线程的强行运行:join()————强制插入线程
⑤线程的休眠:sleep()————优秀的线程睡眠方法
⑥线程的礼让:yield()————礼让的休眠时间不能控制,有点鸡肋,我还是选择sleep吧,或许跟setPriority有意想不到效果吧
线程的两种同步方式:
①同步代码块:synchronize(同步对象){同步代码块}
②同步方法:synchronize void 方法名(){}
线程的几种用法:
①不相关线程:在主函数start两个没关系的线程(类)
②相关但无需同步的线程:划分数据集,安装多个线程分别为解决同一个问题而作用与不同的数据部分
③互斥线程:线程交互的时候需要操纵同一数据结构,线程需要互相等待以免同时修改同一数据,造成数据不确定。
线程的生命周期
~~~~~理论讲辣么多有个屁用咩,下一节把所有的方法都用一遍吧,哈哈哈,望指导
- 深入探索-JAVA线程
- Java线程:深入ThreadLocal
- 深入java--线程
- 深入java--线程池
- java深入线程
- Java线程的深入探讨
- Java线程的深入探讨
- Java线程的深入探讨
- Java线程知识深入解析
- Java线程的深入探讨
- Java线程知识深入解析
- Java 线程深入理解(草稿)
- JAVA线程的深入理解
- 深入理解Java线程池
- 深入理解Java中的线程
- 深入研究java线程优先级
- 深入理解java线程池
- 深入Java之线程池
- lambda表达式与eval(str)函数
- 简单的NTP客户端-C语言实现
- 阿里年会的马老师说:认真生活、快乐工作、保持理想
- Ubuntu 三步快速安装 Sublime Text 3
- cocos2dx 引擎版本和NDK的关系
- java深入线程
- 从Shiro-cas切换pac4j
- 谈谈你对webpack的看法
- Java设计模式之结构型模式-代理模式(Proxy)
- arcgis for js 点聚合功能
- hdu 6194 后缀数组+RMQ
- 解决python读写文件时UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x9d 的错误
- syncookie的原理与linux内核实现
- 布局和系统状态栏融合的方法