大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業(yè)指南 2023最新的Java多線程筆試題

2023最新的Java多線程筆試題

更新時間:2022-12-26 15:23:59 來源:動力節(jié)點 瀏覽1877次

筆試題--并發(fā)設(shè)計

場景貓達:用戶在支付寶擁有多種支付方式余額、紅包、余寶等,每種支付工具分布在不同系統(tǒng)),每種支付方式通過調(diào)用遠程服務(wù)獲取可用性。在外部資源環(huán)境不變情況下,請設(shè)計程房以最通響應(yīng)時間得盡可能多的可用支付方式列表。

補充:假定支付方式可用性咨詢接口統(tǒng)一為
ConsultResult PaymentRemot eSerivce.isEnabled(String paymentType):
返回結(jié)果
public class ConsultResult {
/** 咨詢結(jié)果是否可用*/
private boolean isEnable:
/**錯誤碼 */
private String errorCode:
**
*過濾不可用支付方式類型
*@aram payment TypeList 原始支付方式類型列表*@return 可用支付方式類型列表
*
public List<String> filterDisablePayment (List<String> allPaymentList)[//: TODO 完成此處的代碼

答案

利用了線程池、考慮了超時處理、不知道這樣寫是否還有其他問題,或者更好更優(yōu)的解決方案?

import java.util.*;
import java.util.concurrent.*;
?
public class Main {
?
????public static void main(String[] args) {
????????List<String> allPaymentList=Arrays.asList("余額","紅包","余額寶","銀行卡");
????????long start=System.nanoTime();
????????List<String> list=filterDisablePayment(allPaymentList);
????????double seconds=(System.nanoTime()-start)/1000000000.0;
????????System.out.println("總共耗時:"+seconds+"s");
????????for(String paymentType:list){
????????????System.out.println(paymentType);
????????}
????}
?
?
????public static List<String> filterDisablePayment(List<String> allPaymentList){
????????List<String> results=new ArrayList<>();
????????ExecutorService executorService= Executors.newFixedThreadPool(allPaymentList.size());
????????List<Future<String>> futures=new ArrayList<>();
????????for(String paymentType:allPaymentList) {
????????????futures.add(executorService.submit(new PaymentMethodCallable(paymentType)));
????????}
????????executorService.shutdown();
????????for(Future<String> future:futures){
????????????try {
????????????????//超時處理機制
????????????????String result= future.get(4,TimeUnit.SECONDS);
????????????????if(result!=null){
????????????????????results.add(result);
????????????????}
????????????} catch (Exception e) {
????????????????e.printStackTrace();
????????????}
????????}
????????return results;
????}
?
?
????public static Boolean PaymentIsEnabled(String paymentType) {
????????try {
????????????//模擬遠程服務(wù)調(diào)用所用時間
????????????Thread.sleep(3000);
????????????Random random=new Random();
????????????boolean result=random.nextBoolean();
????????????System.out.println("獲取到結(jié)果:"+paymentType+":"+result);
????????????return result;
????????} catch (Exception e) {
????????????e.printStackTrace();
????????}
????????return false;
????}
?
?
????static class PaymentMethodCallable implements Callable<String> {
?
????????private String paymentType;
?
????????public String getPaymentType() {
????????????return paymentType;
????????}
?
????????public void setPaymentType(String paymentType) {
????????????this.paymentType = paymentType;
????????}
?
????????public PaymentMethodCallable(String paymentType) {
????????????this.paymentType = paymentType;
????????}
?
????????@Override
????????public String call() {
????????????if(PaymentIsEnabled(paymentType)) return paymentType;
????????????return null;
????????}
????}
}

以上就是“2023最新的Java多線程筆試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點Java官網(wǎng)。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 福利一区在线视频 | 免费中文字幕在线国语 | 亚洲精品香蕉一区二区 | 日b黄色 | 免费爱爱的视频太爽了 | 欧美一级久久久久久久久大 | 久久久久在线 | 国产区久久 | 国产一区二区三区在线免费观看 | 久久久久免费精品国产小说 | 91亚洲在线| 久久综合在线 | 97成人精品视频在线播放 | 欧美日韩亚洲精品一区 | 日本高清免费不卡毛片 | 欧美成人性色 | 亚洲视频一区二区在线观看 | 亚洲一区二区免费在线观看 | 亚洲精品国产国语 | 毛片免费网址 | 天天久久狠狠伊人第一麻豆 | 中文字幕精品一区二区日本大胸 | 亚洲欧美在线观看一区二区 | 80s成年女人毛片免费观看观看 | 人与拘一级a毛片 | 久久国产精品一区二区 | 国产综合欧美日韩视频一区 | 亚洲一区在线视频 | 亚洲精品综合一区二区三区在线 | 99热爱久久99热爱九九热爱 | 一级黄色录像毛片 | 日本一级毛片视频无遮挡免费 | 日韩一区二区国色天香 | 狠狠干成人| 色综合久久久 | 亚洲国产精品乱码一区二区三区 | 久插视频 | 2020国产成人免费视频 | 极品色综合 | 久久亚洲精品成人综合 | 国产精品成人在线播放 |