多线程同步的几种方法

来源:互联网 发布:jquery each数组空 编辑:程序博客网 时间:2024/06/13 02:17

 1.多线程同步的几种方法

wait(): 使一个线程处于等待状态,并且释放所持有的对象的 lock 。

sleep(): 使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉

InterruptedException 异常。

notify(): 唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等

待状态的线程,而是由 JVM 确定唤醒哪个线程,而且不是按优先级。

Allnotity(): 唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们


2.启动一个线程是用 run() 还是 start()?

启动一个线程是调用 start() 方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以

由 JVM 调度并执行。这并不意味着线程就会立即运行。 run() 方法可以产生必须退出的标志来停止一个

线程。


 3.当一个线程进入一个对象的一个 synchronized 方法后其它线程是否可进入此对象       的其它方法 ? 
不能,一个对象的一个 synchronized 方法只能由一个线程访问。

4.线程的基本概念、线程的基本状态以及状态之间的关系

线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是

程序本身。

Java 中的线程有四种状态分别是:运行、就绪、挂起、结束。

0 0
原创粉丝点击