• 经典并发面试题


    题目:实现一个容器,提供俩个方法,add和size,写俩个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5时,线程2给出提示并结束

    实现案例:

    /**
     * @program: mystudy_basis
     * @description: 实现一个容器,提供俩个方法,add和size,写俩个线程,
     * 线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5时,线程2给出提示并结束
     **/
    public class ContainerTest {
        /**初始化容器*/
        volatile List<Object> list = new ArrayList<>();
    
        public void add(Object o){
            list.add(o);
        }
    
        public int size(){
           return list.size();
        }
    
        public static void main(String args[]){
            CountDownLatch countDownLatch = new CountDownLatch(1);
            ContainerTest containerTest = new ContainerTest();
            new Thread(()->{
                System.out.println("t2启动-----");
                if(containerTest.size()!=5){
                    try {
                        countDownLatch.await();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("t2结束-----");
            },"t2").start();
    
            new Thread(()->{
                System.out.println("t1启动---");
                for(int i=0;i<10;i++){
                    containerTest.add(new Object());
                    System.out.println("add"+i);
                    if(containerTest.size()==5){
                        countDownLatch.countDown();
                    }
                    try {
                        TimeUnit.SECONDS.sleep(1);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            },"t1").start();
        }
    }

    当CountDownLatch的值为0的时候,t2开始执行

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    php开启伪静态(2转)
    php,apache伪静态(1转)
    sql 字段先计算后再拿比对的字段进行比对 效率提升100倍
    使用 PHP 读取文本(TXT)文件 并分页显示
    php给一张图片加上水印效果
    PHP命名空间(Namespace)的使用详解(转)
    php随机获取金山词霸每日一句
    网络报文分析利器eBPF
    这个世界变得有多复杂
    个人收藏网站推荐(一)
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12119491.html
Copyright © 2020-2023  润新知