多线程学习

来源:互联网 发布: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
原创粉丝点击