下面关于使用同步代码块描述正确的是( )
A: 同步代码块中的锁对象可以是任意类型的对象
B: 当多个线程共享的锁对象必须是唯一的
C: 锁对象的创建代码不能放到run()方法中
D: 当线程执行同步代码块时,首先会检查锁对象的标志位
A: 同步代码块中的锁对象可以是任意类型的对象
B: 当多个线程共享的锁对象必须是唯一的
C: 锁对象的创建代码不能放到run()方法中
D: 当线程执行同步代码块时,首先会检查锁对象的标志位
举一反三
- 同步代码块中的锁对象可以是任意类型的对象,但多个线程共享的锁对象必须是【 】的
- 同步代码块中的锁对象可以是任意类型的对象
- 线程同步中,对象的锁在()情况下持有线程返回 A: 当synchronized()语句块执行完后 B: 当在synchronized()语句块执行中出现例外(exception)时 C: 当持有锁的线程调用该对象的wait()方法时 D: 以上都是
- 调用object.wait()时,线程先要获取这个对象的锁,当前线程必须与锁对象保持同步,把当前线程添加到等待队列中,随后另一线程可以同步同一个对象锁来调用notify(),这样将唤醒原来等待中的线程,然后释放该锁
- 同步代码块的作用是() A: 保证多线程访问数据的安全 B: 保证同步代码块中只有一个线程运行 C: 同步代码块可以避免线程的随机性 D: 同步代码块提高了线程的运行速度