多线程同步的几种方法

  • Post author:
  • Post category:其他



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


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


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


InterruptedException 异常。


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


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


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







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



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


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


线程。



3.当一个线程进入一个对象的一个 synchronized 方法后其它线程是否可进入此对象       的其它方法 ?






不能,一个对象的一个 synchronized 方法只能由一个线程访问。



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



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


程序本身。


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



版权声明:本文为lifupingcn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。