.net 多线程同步方式总结
来源:互联网 发布:淘宝劲霸男装春秋夹克 编辑:程序博客网 时间:2024/05/17 20:28
在多线程开发中,共享对象的同步是经常遇到的问题,以下总结了C#中线程同步的几种技术:
1,InterLocked原子操作
Decrement(ref int location);递减1
Add(ref int location1, int value);location1+value
Increment(ref int location);递增1
2,Mutex互斥锁
WaitOne(int timeout);等待获取锁
ReleaseMutex();释放锁,记得一定要释放,否则永远被阻塞
3,SemaphoreSlim信号量
SemaphoreSlim(int count);允许的并发线程数量
Wait();等待
Release();释放
4,AutoRestEvent自动重置时间(内核模式)
Set();从一个线程向另一个线程发送通知;
WaitOne();等待通知
5,ManaulResetEventSlim手动重置时间(混合模式)
Wait();等待
Set();通知
Reset();重置
6,CountDownEvent计数事件
CountdownEvent(int count);通知计数
Signal();计数(线程完成一定调用)
Wait();等待
Dispose();释放
7,Barrier
Barrier(int participantCount, Action<Barrier> postPhaseAction);多个线程同步,回调Action
SignalAndWait();执行回调
8,ReaderWriterLockSlim读写锁
EnterReadLock();获取读锁(可共享读)
ExitReadLock();释放读锁
EnterUpgradeableReadLock();获取读锁(可升级到写锁);
ExitUpgradeableReadLock();释放升级读锁
EnterWriteLock();获取写锁(其他线程不可读写)
ExitWriteLock();释放写锁
9,SpinWait自旋等待(混合模式)
SpinOnce();自旋
- .net 多线程同步方式总结
- Linux多线程同步方式总结
- 多进程间通信方式和多线程同步机制总结
- 多进程间通信方式和多线程同步机制总结
- 多进程间通信方式和多线程同步机制总结
- 多进程间通信方式和多线程同步机制总结
- 多进程间通信方式和多线程同步机制总结
- java多线程同步机制的实现方式总结
- android 多线程实现方式、并发与同步学习总结
- Win32多线程同步方式
- linux 多线程同步方式
- Linux多线程同步方式
- linux多线程同步方式
- C#.net同步异步SOCKET通讯和多线程总结2
- C#.net同步异步SOCKET通讯和多线程总结
- C#.net同步异步SOCKET通讯和多线程总结
- C#.net同步异步SOCKET通讯和多线程总结
- C#.net同步异步SOCKET通讯和多线程总结
- 程序包管理前端工具yum的使用详解
- Servlet中配置spring mvc及web.xm各组件的启动顺序
- poj 1019 Number Sequence 打表二分
- 向爬虫迈进(一)
- Tango 开发指南(2) — 三种核心技术的概述
- .net 多线程同步方式总结
- 一个蠢蠢的问题,上位机的概念
- 用两个栈实现队列
- 剑指offer——二进制中1的个数
- Mac 上 Class JavaLaunchHelper is implemented in both 报错
- C/C++获取进程信息的问题
- python︱Python进程、线程、协程详解、运行性能、效率(tqdm)
- Leetcode : Sudoku Solver
- Eltwise_layer简介