第1题:
下列说法中错误的一项是
A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法
B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法
C.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁
D.wait()和notify()可以实现线程的同步操作
第2题:
多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现方法,分别是继承Thread 类与实现Runnable 接口
同步的实现方面有两种,分别是synchronized,wait 与notify
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉
InterruptedException 异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤
醒某一个等待状态的线程,而是由JVM 确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,
而是让它们竞争。
第3题:
实现发电机并列操作的方法通常有()。
A、准同步并列操作
B、同步并列操作
C、非同步并列操作
D、自动操作
第4题:
多线程有几种实现方法,线程间同步有几种实现方法,都是什么?
第5题:
惯性式同步器是依靠惯性力实现同步的。
第6题:
java 中有几种方法可以实现一个线程?用什么关键字修
饰同步方法? stop()和suspend()方法为何不推荐使用?
有两种实现方法,分别使用new Thread()和new Thread(runnable)形式,第一种直接调用
thread 的run 方法,所以,我们往往使用Thread 子类,即new SubThread()。第二种调
用runnable 的run 方法。
有两种实现方法,分别是继承Thread 类与实现Runnable 接口
用synchronized 关键字修饰同步方法
反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处
于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出
真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停
下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资
源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同
时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应
在自己的Thread 类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应
该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()
重新启动线程。
第7题:
多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
1第一种解答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
第8题:
Wait.Signal操作可实现进程的同步和共享资源互斥使用,但不能排除死锁。()
第9题:
惯性式同步器与常压式同步器一样,都是依靠()作用实现同步的。
第10题:
多个线程操作同一资源的时候需要注意同步,依靠()实现,实现手段是:同步代码块和同步方法,过多的使用,则会出现死锁问题。