更多"在Java线程中,共享数据的所有访问都必须作为临界区,使用______"的相关试题:
[填空题]在Java线程中,共享数据的所有访问都必须作为临界区,使用 【13】 进行加锁控制。
[填空题]在Java线程中,共享数据的所有访问都必须作为临界区,使用______进行加锁控制。
[单项选择]临界区是指并发进程中访问共享变量的
A. 管理信息段
B. 信息存储段
C. 数据段
D. 程序段
[单项选择]临界区是指并发进程访问共享变量段的______。
A. 管理信息
B. 信息存储
C. 数据
D. 代码程序
[填空题]以下程序段定义的类ShareDataManager用于管理多个线程共享数据data。为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。为此,程序为管理data上的操作定义成类,以下是管理共享数据data的类ShareDataManager的代码。
class ShareDataManager
int data;
ShareDataManager(int init)data=init;
public int getData( ) return data;
private void putData(int newValue) data=newValue;
synchronized void modiData(int delta)
if(delta>=0) putData(getData( )+delta);
else
while (______<0)
try wait( ); catch (InterruptedException e)
putData(getData( )+delta);
______;
[填空题]有些情况下如多线程对共享数据操作时,这种线程运行顺序的不确定性将会产生执行结果的不确定性,使共享数据的一致性被破坏,因此,在某些应用程序中必须对线程进行 ______.
[填空题]有些情况下(如多线程对共享数据操作时),这种线程运行顺序的不确定性将会产生执行结果的不确定,使共享数据的一致性被破坏,因此在某些应用程序中必须对线程进行 【15】 。
[简答题]实现一个经典的“读者-写者”算法时,若当前临界区中有读者访问,写者再来时必须在临界区外面等候,如果其后读者源源不断地到达,按策略他们均可以进入临界区,始终保持临界区中有读者访问,那么写者可能长时间不能进入临界区而形成饥饿。为解决此类问题,我们修改访问策略,要求当写者到达时,写者具有优先权。具体说,写者到达后,已经在临界区内的读者继续读取直到结束,而后来的读者就不能进入临界区。等所有的读者离开临界区以后让写者先进去访问,然后等写者离开后再允许读者进入临界区。这所谓“写者优先读者-写者”问题。请用信号量和PV操作来描述这一组进程的工作过程。
[判断题]属于同一个进程的线程可以共享进程的程序段和数据段。
[单项选择]对临界区的正确论述是()。
①临界区是指进程中实现进程互斥的那段代码
②临界区是指进程中用于实现进程同步的那段代码
⑧临界区是指进程中用于实现进程通信的那段代码
④临界区是指进程中用于访问共享资源的那段代码
⑤临界区是指进程中用于访问临界资源的那段代码
⑥若进程A与进程B必须互斥地进入自己的临界区,则进程A处于对应的区内时,仍有可能被进程B中断
A. ①,②
B. ①,②,⑤
C. ⑤,⑥
D. ①,②,⑧,④,⑤,⑥
[填空题]用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用【 】操作,在退出临界区时应调用V操作。
[简答题]为了让用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即用户有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点