多线程学习
来源:互联网 发布:tp框架数据库修改语句 编辑:程序博客网 时间:2024/06/07 03:25
生命周期中的5个状态
新建状态
Thread myThread = new Thread();
就绪状态
myThread.start();
运行状态(线程调用start方法之后,系统会调用run方法,进入运行状态)
阻塞状态(延迟、挂起、等待)
myThread.sleep();myThread.suspend();//(myThread.resume()恢复挂起程序)myThread.wait();//notify(); notifyAll();通知恢复myThread.yield();//暂停当前程序,让同优先级线程执行,并移到就绪队列队尾。如果没有同优先级或高优先级线程,则继续执行。
死亡状态
myThread.stop();//会完成一些清理工作,及抛出异常myThread.destroy();
线程互斥、线程同步
线程互斥:当两个线程都需要调用同一个变量,并对此变量操作可能会产生错误。(使用synchronized,让代码段在一个线程执行完后才释放,等待下一个线程执行。)
线程同步:当线程A需要某个变量,而此变量又需要线程B修改后才符合需要,此时线程A需要等待线程B完成修改。这种线程互相等待成为线程的同步。(wait(); notify();notifyAll()控制)
0 0
- 学习多线程
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 学习多线程
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- 多线程学习
- HTML5的新特性--基础知识(3)
- js中的hasOwnProperty和isPrototypeOf方法使用实例
- 递归-动物生崽问题
- r.js的使用
- centos6.5下安装mysql出错的问题
- 多线程学习
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 类型转换表达式(CONVERSIONS)
- 安装解压版MySQL5.76及以上版本 出现服务正在启动-服务无法启动的问题
- CTS Verifier测试
- 汇编输入字符串常见的实验题
- 机器学习第三章复习(1)
- IE中CSS-filter滤镜小知识大全
- Restful风格API接口开发springMVC篇