文档章节

Semaphore信号量

噼里啪啦嘣
 噼里啪啦嘣
发布于 2016/05/08 20:33
字数 144
阅读 6
收藏 0
import java.util.concurrent.Semaphore;

/**
 * Created by zyBourn on 15/12/25.
 */
public class Entity {
    public static void main(String[] args) {
        //信号量
        //每次只能执行N个任务,N在创建信号量时确定,其余的任务只能排队执行
        Semaphore semaphore=new Semaphore(2);
        Person p1=new Person(semaphore,"A");
        p1.start();

        Person p2=new Person(semaphore,"B");
        p2.start();

        Person p3=new Person(semaphore,"C");
        p3.start();

        Person p4=new Person(semaphore,"D");
        p4.start();

        Person p5=new Person(semaphore,"E");
        p5.start();
    }
}
class Person extends Thread{
    private Semaphore semaphore;
    public Person(Semaphore semaphore,String name){
        setName(name);
        this.semaphore=semaphore;
    }
    public void run(){
        System.out.println(getName()+":等待!");
        try{
            semaphore.acquire();
            System.out.println(getName() + ":服务!");
            Thread.sleep(5000);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
        System.out.println(getName()+":服务结束!");
        semaphore.release();
    }
}


© 著作权归作者所有

共有 人打赏支持
噼里啪啦嘣

噼里啪啦嘣

粉丝 1
博文 30
码字总数 8391
作品 0
杭州
后端工程师

暂无文章

centos7安装rsync及两台机器进行文件同步

centos7安装rsync及两台机器进行文件同步 2017年12月21日 11:17:46 码农下的天桥 阅读数:2210 标签: centosrsync同步 更多 个人分类: 后端 所属专栏: 研发模式及运维 版权声明:本文为博...

linjin200
7分钟前
0
0
jpg、jpeg、png... 的区别

jpg、jpeg、png... 的区别 对于做设计这一行的人来说,这几个图片格式是最常用的,也是最常见的,几乎每一天都要与他们打交道。 刚刚入门的新人通常不知道在什么地方如何使用他们或者说如何更...

DemonsI
25分钟前
2
0
白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理

前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,...

oKong
30分钟前
1
0
Character的static方法

基本类型char的包装类是Character,使用的比较多,大家是比较熟悉的。 我只是觉得里面有很多static方法,平时不怎么用,学习一下怎么实现的,或许日后就用到了。 static int compare(char x,...

woshixin
43分钟前
1
0
正则介绍_sed

10月17日任务 9.4/9.5 sed sed工具 匹配打印 -n 只打印匹配行,不然其他行也会打印出来 p 打印(配合-n使用) [root@centos7 tmp]# sed -n '/root/'p passwd root:x:0:0:root:/root:/bin/ba...

robertt15
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部