2011-09-06

来源:互联网 发布:iphone看图软件 编辑:程序博客网 时间:2024/05/29 23:43
 

线程的生命周期:

新建

就绪

运行

死亡

堵塞

start()

CPU可用

任务完成

线程优先级

1、         把线程从就绪状态进入运行状态的过程叫做线程调度。负责调度工作的机构叫做调度管理器。

2、         线程的优先级别1~10

3、         常用方法:

Void run()//创建该类的子类时必须实现的方法

Void start()//开启线程的方法

Static void sleep(毫秒)//释放cpu的执行权,不释放锁

Static void sleep(毫秒,纳秒)//

Static void yield()//可以对当前线程进行临时暂停(让线程将资源释放出来)

Final void wait()//释放cpu的执行权,释放锁

Final void notify()

Void join()//可以让当前线程进行临时暂停(让线程将资源释放出来)

 

线程同步:

临界资源

多个线程间共享的数据称为临界资源(Critical Resource),由于是线程调度器负责线程的调度,程序员无法精确控制多线程的交替顺序。因此,多线程对临界资源的访问有时会导致数据的不一致行。

互斥锁

每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。

Java对象默认是可以被多个线程共用的,只是在需要时才启动“互斥锁”机制,成为专用对象。

关键字synchronized用来与对象的互斥锁联系

当某个对象用synchronized修饰时,表明该对象已启动“互斥锁”机制,在任一时刻只能由一个线程访问,即使该线程出现堵塞,该对象的被锁定状态也不会解除,其他线程任不能访问该对象。

原创粉丝点击