zoukankan      html  css  js  c++  java
  • 线程同步:System.Core中新的读写锁

    读写锁是进程同步中经常使用的锁。

    在System.Core中ReaderWriterLockSlim类比较好用,它是基于写优先策略的。它还支持从读锁升级到写锁,称为Upgradable Mode.

    简单测试代码如下:

    private static void Test()
    {
        ReaderWriterLockSlim locker = new ReaderWriterLockSlim();
        ParameterizedThreadStart reader = o =>
        {
            var innerlocker = locker;
            int number = Convert.ToInt32(o);
            while (true)
            {
                locker.EnterReadLock();
                Console.WriteLine("Reading  " + number);
                Thread.Sleep(500);
                locker.ExitReadLock();
            }
        };
        ParameterizedThreadStart writer = o =>
        {
            var innerlocker = locker;
            int number = Convert.ToInt32(o);
            while (true)
            {
                locker.EnterWriteLock();
                Console.WriteLine("Writing  " + number);
                Thread.Sleep(50);
                locker.ExitWriteLock();
            }
        };
        for (int i = 1; i <= 100; i++)
        {
            Thread thread = new Thread(reader);
            thread.Start(i);
        }
        for (int i = 11; i <= 15; i++)
        {
            Thread thread = new Thread(writer);
            thread.Start(i);
        }
    
        AutoResetEvent waitForever = new AutoResetEvent(false);
        waitForever.WaitOne();
    }
  • 相关阅读:
    莫队
    NOIP2010_T4_引水入城 bfs+贪心
    拉灯游戏 搜索
    种花小游戏 随机化搜索
    [usaco2003feb]impster
    P1265 公路修建 (prim)
    P3378 【模板】堆
    并查集 模板
    P2661 信息传递
    P1828 香甜的黄油 Sweet Butter (spfa)
  • 原文地址:https://www.cnblogs.com/zgynhqf/p/1624940.html
Copyright © 2011-2022 走看看