题目:现在存在{“A1”,“A2”,“A3”,“A4”,“A5”,“A6”,“A7”,“A8”}和{“B1”,“B2”,“B3”,“B4”,“B5”,“B6”,“B7”,“B8”}两个数组。 请编写代码实现:从两个数组中任意抽取两个字符串组成一个长度为4的数组,且每次输出的长度为4的数组内容均不一样。 输入:{“A1”,“A2”,“A3”,“A4”,“A5”,“A6”,“A7”,“A8”}、{“B1”,“B2”,“B3”,“B4”,“B5”,“B6”,“B7”,“B8”} 输出: [ [“A1”,“A2”,“B3”,“B4”], [“A5”,“A6”,“B7”,“B8”], ["B1”,“B2”,“A3”,“A4”], [“B5”,“B6”,“A7”,“A8”] ]
java并发包中的CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务执行完自己的任务后调用同一个CountDownLatch对象上的countDown()方法,这个调用await()方法的任务将一直阻塞等待,直到这个CountDownLatch对象的计数值减到0为止。 举个例子,有三个工人在为老板干活,这个老板有一个习惯,就是当三个工人把一天的活都干完了的时候,他就来检查所有工人所干的活。记住这个条件:三个工人先全部干完活,老板才检查。