线程同步的几种方式__面试题

在C#中实现线程的同步有几种方法:lockMutexMonitorSemaphoreInterlockedReaderWriterLock等。

同步策略也可以分为同步上下文、同步代码区、手动同步几种方式。

1、对于线程同步操作最简单的一种方式就是使用 lock 关键字,通过 lock 关键字能保证加锁的线程只有在执行完成后才能执行其他线程。

2、Monitor 类的用法虽然比 lock 关键字复杂,但其能添加等待获得锁定的超时值,这样就不会无限期等待获得对象锁。

3、C# 中 Mutex 类也是用于线程同步操作的类,例如,当多个线程同时访问一个资源时保证一次只能有一个线程访问资源

Mutex和lock有何不同?一般用哪一个作为锁使用更好?

Mutex是一个基于内核模式的互斥锁,支持锁的递归调用,而Lock是一个混合锁,一般建议使用Lock更好,因为lock的性能更好。

 

 

posted @ 2023-01-28 15:01  驼七  阅读(94)  评论(0)    收藏  举报