天天看点

Java面试题。哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结

作者:灰灰讲Java

Java面试题。

哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结果面试官问了他一个从来没有思考过的问题,他没有答上来,所以面试黄了。

这个问题是针对发包里面的countdownlacth Semaphore CyclicBarrier到的区别。

这个问题是针对发包里面的countdownlacth for 一制作,三个工具类有没有用过?如果用过的话区别在哪里?今天我就和大家彻底的讲清楚这三个工具类的区别。

·这个方法里面需要传入一个抗的次数,会根据这个 cont来决定后续的线路是否要提醒,有两个 obat方法,一个带有超时时间,一个没有带超时时间。但是都是去挂起当前的过程,只不过一个是有一个最大的挂起的时间的。

·另外还有一个ctrl 的方法,它的作用是将ctrl 的次数减一,当抗的次数为零的时候,而 wait 的流程都会被唤醒。

·secret berry栅栏可以实现一组线程,等待至同一进度后再全部同时执行后续的流程。

·构造方法里面会传入一个int类型的栅栏数,表示可以有多少个流程可以等待一起执行。如果要执行线程等待,可以调和of it方法,也可以取代超时时间的等待。当按位置的流程达到战狼数以后,这些流程会同时提醒去执行后续的流程。

·simple构造其方法里面会传入一个信号量的,数量也代表可以获得的许可的最大数,然后用oq去获取许可。如果可以获取到这个许可,会继续执行获取的流程。如果不能获取到这个许可则会等待,可以一直等待也可以设置等待的超时时间。release 方法则会释放许可acquire,跟 release 都可以释放多个信号量。

simfer 的思想其实跟令牌筒的思想很类似,在多县城的情况下可以控制对某些资源的访问数量。其实不管是卡拉达 nars,赛克是 krifer底下组装的,其实都是县城之间的通信,都是敌军的 wait或者park,以上就是我对这个问题的全部理解。

如果你有什么不同的看法和意见也可以欢迎在评论区留言。另外我已经把这个问题的文字版答案整理在了程序员面试图集手册里面,有需要的伙伴也可以在评论区留言领取。

今天的视频就到这里了,我是灰灰,下期再见。

Java面试题。哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结
Java面试题。哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结
Java面试题。哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结
Java面试题。哈喽大家好,我是专注于家族法干货分享的灰灰。昨天有一个粉丝和我抱怨说好不容易拿到了一个大型面试的机会,结

继续阅读