你好杰米 2018-03-20 01:39 采纳率: 88.9%
浏览 778
已采纳

【java】问一个关于多线程的面试问题?

图片说明

图上的集中方法我都查过了,但是不懂他们之间的区别以及应用场景,还有最后那俩问题,求大神解答

  • 写回答

2条回答 默认 最新

  • 红帽01 2018-03-20 02:24
    关注

    1:应该是问你,第一种情况下。数据结果会不正确。
    2:abcde是各种并发处理的方式。你需要记录开始时间和结束时间,看用各种并发方式,哪个最快能得出结果。
    3:Semaphore又称信号量,是操作系统中的一个概念,在Java并发编程中,信号量控制的是线程并发的数量。用于管理一组资源。其内部是基于AQS的共享模式,AQS的状态表示许可证的数量,在许可证数量不够时,线程将会被挂起;而一旦有一个线程释放一个资源,那么就有可能重新唤醒等待队列中的线程继续执行。
    4:结合abcde的运行时间,哪个更快就是哪个性能更好。
    5:优化方式:没想到(用性能最好的方式)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?