您的位置:首页 > 编程语言 > Java开发

java线程笔记

2011-02-20 10:53 162 查看
写这篇博文,无他,就是在看java线程知识时,感觉一些知识点,必须背下,所以就自己复述一下,写了下来。

在同步中,需要对含有同步代码的对象进行锁定。

先介绍两个类的一些重要方法:

(Object) wait 方法,作用:使执行该对象的线程进入该对象的等待队列中。

@throw InterrupedException cause 当执行该对象的线程没有获得该对象的锁时抛出

notes: 而当该线程调用了该方法,则会放弃原先获得该对象的。(这是一些线程面试,笔试题经常要考的。注意区别该对象,与执行该对象的线程)

notify ,notifyAll 方法, 作用:唤醒该对象上的等待线程,一般,与wait配对使用。

note: 调用该方法时,如果执行该方法的线程有获得该对象的锁,则不会放弃它的锁。

(Thread) 静态方法:sleep ,作用:使该线程(sleep方法,所属的线程),进入睡眠状态(即,“阻塞”状态,线程五态中的一种:新建,可运行态,运行中,阻塞状态,死亡态)。

@throw InterrupedException

notes: 当该方法被调用时,已在该线程对象(注意,因为它是Thread的方法,实现线程很大一部分,得继承Thread类,所以它是线程对象)上锁,不会被释放,将会继续保持。

yield,作用: 使该线程进入可运行态(一般,是从运行态,转变到可运行态)。

note:: 同样,线程将同样保持锁。

final 方法: join, 作用:使当前在执行该行代码(即调用了这个方法的线程)加入到这个方法所属的线程的尾部,直到这个方法所属的线程执行完,才可以执行。

@throw: InterrupedException

note: 同样,线程将同样保持锁。

setPriority(int priorityInt) ,作用:设置当前线程的优先级。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息