死锁就是两个线程在运行时都在等待对方的锁
对
举一反三
- 两个或多个线程在互相等待对方释放锁,这种情况称为【】
- 系统发生死锁时,死锁进程的个数至少为()个;所有死锁进程都在等待资源,并且其中至少有()个进程已占有资源。
- 线程的安全主要来源于其运行的并发性和对资源的共享性,以下哪种方法可以解决线程死锁安全() A: 让一个线程在运行时,其他线程必须等待该线程运行完毕才能抢占CPU B: 通过程序确定资源的合理分配算法,避免线程永远占据系统资源 C: 需要暂停时,让线程的run()方法结束运行以释放资源;继续时,新开辟一个线程继续工作 D: 将线程暂停或继续,在Thread类中置入一个标志,指出线程应该活动还是挂起
- 两个事务相互等待对方释放资源,而得不到执行的现象称为( )。 A: 死锁 B: 活锁 C: 串行调度 D: 不可串行调度
- (线程的同步)下列叙述中,错误的是________。 A: Java中没有检测和避免死锁的专门机制 B: 程序中多个线程互相等待对方持有的锁,可能形成死锁 C: 为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放 D: 为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放
内容
- 0
当两个事务相互等待对方释放资源时,就会形成死锁。( )
- 1
死锁就是锁死,参与死锁的进程,若无外力作用,将永远锁死在一起,永远不可能继续运行下去。
- 2
某个程序需要访问两个文件,当两个这样的程序各锁了一个文件,那它们都在等待对方解锁另一个文件,这就发生了_______?
- 3
在并行处理中,若干事物相互等待对方释放封锁,称为系统进入( )状态。 A: 活锁 B: 死锁 C: 中断 D: 等待
- 4
进程是资源的所有者,线程是调度执行单位,因此线程在运行时不需要资源