线程同步选择题

线程同步是为了确保在多个线程操作共享资源时,保证数据的准确性和唯一性,避免冲突。同步机制包括使用同步锁等,但可能会导致线程等待,降低执行效率。在遇到异常情况时,synchronized块中的锁可能不会立即释放。了解线程同步的正确使用对于防止数据紊乱至关重要。

下面哪几项能正确的描述线程同步的作用?

A 锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误
B 提高线程的执行效率
C 让线程独占一个资源
D 让多个线程同时使用一个资源

选A。线程同步是指多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性

 

由于加入同步锁会导致其他线程等待问题,会降低执行效率,所以B错误

同步的作用是保证共享数据的唯一性和安全性,线程独占一个资源是过程,所以C错误

线程同步属于多个线程协同步调,按预定的先后次序进行运行,避免同时使用导致共享数据的紊乱,所以D错误。

 


 

线程同步中,对象的锁在()情况下持有线程返回 ?

 

A 当synchronized()语句块执行完后
B 当在synchronized()语句块执行中出现例外(exception)时
C 当持有锁的线程调用该对象的wait()方法时
D 以上都是

选B

A.当同步块执行完毕的时候肯定要释放锁

B 只要出了synchronized,锁就被释放    (这里出现例外(exception) 所有还没有出去 所有还持有线程返回)

C 一方阻塞时要释放占用的锁,而锁是任何对象都具有的,调用任意对象的 wait() 方法导致线程阻塞,并且该对象上的锁被释放

 


链接:https://www.nowcoder.com/questionTerminal/bce9a4ed8d804042be2a39bb79592671
来源:牛客网
 

下面关于线程同步说法错误的是()

 

A 用户模式和内核模式下同步方式不同
B 对于临界区的访问适用于单进程中线程间的同步
C 事件对象适用于多个进程间的各线程实现同步
D 互斥对象也只适用于单进程中线程间的同步

正确答案:D

 


下面哪个是线程同步的机制

A 互斥锁,共享内存,管道
B 管道,信号量,读写锁
C 互斥锁,管道,信号量
D 锁,信号量,条件变量

正确答案:D

 


 

下列哪个对象只能用于进程内的多线程同步

A Mutex
B Semaphore
C Event
D CriticalSection

正确答案:D

 


http://www.blog.jiangxinlingdu.com/thought/2017/10/16/thread-analysis.html

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值