semaphore 订阅
道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。LED(发光二极管)是近年来开发生产的一种新型光源,具有耗电小(电流只有10~20mA)、亮度高(光强可达上万个mcd)、体积小(直径最小可达3mm)、重量轻(一颗发光二极管仅重零点几克)、寿命长(平均寿命10万小时)等优点。现已逐步代替白炽灯、低压卤钨灯制作道路交通信号灯。 展开全文
道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。LED(发光二极管)是近年来开发生产的一种新型光源,具有耗电小(电流只有10~20mA)、亮度高(光强可达上万个mcd)、体积小(直径最小可达3mm)、重量轻(一颗发光二极管仅重零点几克)、寿命长(平均寿命10万小时)等优点。现已逐步代替白炽灯、低压卤钨灯制作道路交通信号灯。
信息
外文名
traffic light
属    于
安全产品中的一个类别
俗    称
红绿灯
用    途
加强道路交通管理
中文名
信号灯
信号灯间季节
道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。LED(发光二极管)是近年来开发生产的一种新型光源,具有耗电小(电流只有10~20mA)、亮度高(光强可达上万个mcd)、体积小(直径最小可达3mm)、重量轻(一颗发光二极管仅重零点几克)、寿命长(平均寿命10万小时)等优点。现已逐步代替白炽灯、低压卤钨灯制作道路交通信号灯。
收起全文
精华内容
下载资源
问答
  • Semaphore

    2016-09-01 10:17:14
    Semaphore

    Semaphore

    Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。

    Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人让开后,其中等待的另外5个人中又有一个人可以占用了。另外等待的5个人中可以是随机获得优先机会,也可以是按照先来后到的顺序获得机会,这取决于构造Semaphore对象时传入的参数选项。单个信号量的Semaphore对象可以实现互斥锁的功能,并且可以是由一个线程获得了“锁”,再由另一个线程释放“锁”,这可应用于死锁恢复的一些场合。

    Semaphore维护了当前访问的个数,提供同步机制,控制同时访问的个数。在数据结构中链表可以保存“无限”的节点,用Semaphore可以实现有限大小的链表。另外重入锁 ReentrantLock 也可以实现该功能,但实现上要复杂些。

    Semaphore(0)

    代码

    new Thread() {
        @Override
        public void run() {
            super.run();
            try {
                Log.d("silion", "_accountCheckSemaphore acquire start");
                _accountCheckSemaphore.acquire();
                Log.d("silion", "_accountCheckSemaphore acquire finish");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }.start();
    
    new Thread() {
        @Override
        public void run() {
            super.run();
            for (int i = 0; i < 3; i++) {
                Log.d("silion", "waiting : " + 1000 * (i+1));
                SystemClock.sleep(1000);
            }
            Log.d("silion", "_accountCheckSemaphore release");
            _accountCheckSemaphore.release();
        }
    }.start();

    打印结果

    silion: _accountCheckSemaphore acquire start
    silion: waiting : 1000
    silion: waiting : 2000
    silion: waiting : 3000
    silion: _accountCheckSemaphore release
    silion: _accountCheckSemaphore acquire finish
    
    展开全文
  • semaphore

    2017-11-16 17:01:00
    semaphore和mutex相似,但是semaphore可以被多个线程同时使用。semaphore好比一个计数的mutex,它可以定义一个线程数,允许多线程同时访问资源。当某些资源只允许一些指定数量的线程访问时,semaphore就很有用。比如...

    semaphore和mutex相似,但是semaphore可以被多个线程同时使用。semaphore好比一个计数的mutex,它可以定义一个线程数,允许多线程同时访问资源。当某些资源只允许一些指定数量的线程访问时,semaphore就很有用。比如,当你访问IO端口,有3个端口可以使用,这时3个线程可以同时访问这些端口。而第四个线程则必须等待资源被其中一个线程释放才能访问这些资源。

    .NET 4 提供了2个semaphore功能:Semaphore和SemaphoreSlim。Semaphore可以被命名,可以使用整个系统的资源,允许同步于不同的进程。SemaphoreSlim则是一个轻量级的版本,为较短时间的等待做过优化。

    semaphore由System.Threading.Semaphore实现,它有几个构造函数,最简单的构造函数如下:
    public Semaphore(int initialCount, int maximumCount)

    这里,initialCount指定了初始的时候Semaphore所允许的线程数,maximumCount则传递了最大的线程数。
     

     

    private static Semaphore room = new Semaphore(1, 3);

            static void Main(string[] args)
            {

                for (int i = 0; i < 5; i++)
                {
                    Thread t = new Thread(peoplegotoroom);
                    t.Start(i);
                }
            }

            private static void peoplegotoroom(object num)
            {
                Console.WriteLine(num.ToString() + "want to in");
                room.WaitOne();
                Console.WriteLine(num.ToString() + "in");
                Thread.Sleep(5000);
                
                Console.WriteLine(num.ToString() + "want to out");
                room.Release();
                Console.WriteLine(num.ToString() + "out");

            }



















    本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/516256 ,如需转载请自行联系原作者


    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,330
精华内容 40,132
关键字:

semaphore