zoukankan      html  css  js  c++  java
  • Mysql:向信号量添加给定计数将导致其超出它的最大计数错误

    using System;
    using System.Threading;
    
    public class Example
    {
        // A semaphore that can satisfy at most two concurrent
        // requests.
        //
        private static Semaphore _pool = new Semaphore(2, 2);
    
        public static void Main()
        {
            // Create and start two threads, A and B. 
            //
            Thread tA = new Thread(new ThreadStart(ThreadA));
            tA.Start();
    
            Thread tB = new Thread(new ThreadStart(ThreadB));
            tB.Start();
        }
    
        private static void ThreadA()
        {
            // Thread A enters the semaphore and simulates a task
            // that lasts a second.
            //
            _pool.WaitOne();
            Console.WriteLine("Thread A entered the semaphore.");
    
            Thread.Sleep(1000);
    
            try
            {
                _pool.Release();
                Console.WriteLine("Thread A released the semaphore.");
            }
            catch(Exception ex)
            {
                Console.WriteLine("Thread A: {0}", ex.Message);
            }
        }
    
        private static void ThreadB()
        {
            // Thread B simulates a task that lasts half a second,
            // then enters the semaphore.
            //
            Thread.Sleep(500);
    
            _pool.WaitOne();
            Console.WriteLine("Thread B entered the semaphore.");
            
            // Due to a programming error, Thread B releases the
            // semaphore twice. To fix the program, delete one line.
            _pool.Release();
            _pool.Release();
            Console.WriteLine("Thread B exits successfully.");
        }
    }
    /* This code example produces the following output:
    
    Thread A entered the semaphore.
    Thread B entered the semaphore.
    Thread B exits successfully.
    Thread A: Adding the given count to the semaphore would cause it to exceed its maximum count.
     */
  • 相关阅读:
    12 EF Core 私有字段的映射
    11 EF Core 表拆分
    10 EF Core 继承类关系映射
    9. EF Core数据库索引与备用键约束
    8. EF Core 外键的删除模式
    7. EF Core 导航属性配置
    C# 单例模式
    JS中将XML转为JSON对象
    MVC特性
    测试sql语句执行速度
  • 原文地址:https://www.cnblogs.com/hyruur/p/2077709.html
Copyright © 2011-2022 走看看