计算机类

16 线程的同步方法?

题目

16 线程的同步方法?

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面属于Java线程同步方法的方法有 ( )

A.joiny()

B.run()

C.wait()

D.destroy()


正确答案:B

第2题:

多线程有几种实现方法?同步有几种实现方法?


正确答案:

 

多线程有两种实现方法,分别是继承Thread 类与实现Runnable 接口

同步的实现方面有两种,分别是synchronized,wait 与notify

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

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

InterruptedException 异常。

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

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

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

而是让它们竞争。

第3题:

java.lang.ThreadGroup类的作用为( )。

A.使任何类都可以为线程提供线程体

B.定义了线程同步与交互的方法

C.提供了线程组或组中的每个线程进行操作的方法

D.以上都不是


正确答案:C

第4题:

线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?


正确答案: 线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。
系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。

第5题:

下列( )类或接口定义了线程同步与交互的方法。

A.Thread

B.Runnable

C.Object

D.ThreadGroup


正确答案:C

第6题:

Windows提供了大量线程的同步方法,例如( )、( )、( )、( )、( )等。


参考答案:变量锁、临界图、信号量、事件对象、互斥对象

第7题:

请说出你所知道的线程同步的方法。


正确答案:

 

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

第8题:

下列哪个类或接口定义了线程同步与交互的方法?( )

A.Thread

B.Runnable

C.Object

D.ThreadGroup


正确答案:C
解析:本题主要考查线程的对象是由java. lang包的Thread类导出的,它定义并实现了Java中的线程;Runnable接口的目的是使任何类都可以为线程提供线程体(即run ()方法);Object类定义了线程同步与交互的方法如:wait(),notify ()及notifyAll ();ThreadGroup类实现了线程组,并提供了对线程组或组中线程进行操作的方法。

第9题:

解释至少3种线程同步方法。


正确答案: (1)使用Condition对象可以在某些事件触发后才处理数据,可以用于不同线程之间的通信或通知,以实现更高级别的同步。Condition对象除了具有acquire()和release()方法之外,还有wait()、notify()、notify_all()等方法。下面通过经典生产者/消费者问题来演示Condition对象的用法。
(2)Queue模块(在Python3中为queue模块)实现了多生产者/多消费者队列,尤其适合需要在多个线程之间进行信息交换的场合,该模块的Queue对象实现了多线程编程所需要的所有锁语义。
(3)Event对象是一种简单的线程通信技术,一个线程设置Event对象,另一个线程等待Event对象。Event对象的set()方法可以设置Event对象内部的信号标志为真;clear()方法可以清除Event对象内部的信号标志,将其设置为假;isSet()方法用来判断其内部信号标志的状态;wait()方法只有在其内部信号状态为真时将很快地执行并返回,若Event对象的内部信号标志为假,wait()方法将一直等待至超时或内部信号状态为真。

第10题:

多线程有几种实现方法,线程间同步有几种实现方法,都是什么?


正确答案: 两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized,wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。

更多相关问题