假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。
区块链毕设网qklbishe.com为您提供问题的解答
假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡:
add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。
delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。
select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。
release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。
输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID;3表示调用select函数;4表示调用release函数,后接一个元素表示ID。
public ArrayList<Integer> SLB (ArrayList<ArrayList<Integer>> operators) { // write code here ArrayList<Server> serverList = new ArrayList<Server>(); ArrayList<Integer> result = new ArrayList<Integer>(); for (ArrayList<Integer> ele : operators){ // 每一次操作 int operation = ele.get(0); switch(operation){ case 1:{ add(serverList, ele); break; } case 2:{ delete(serverList, ele); break; } case 3:{ result.add(select(serverList, ele)); break; } case 4:{ release(serverList, ele); break; } default: // do nothing } } return result; } private boolean containsServer(ArrayList<Server> serverList, int no){ for (Server server : serverList){ if (server.getNo() == no){ return true; } } return false; } public void add(ArrayList<Server> serverList, ArrayList<Integer> operation){ if (!containsServer(serverList, operation.get(1))){ serverList.add(new Server(operation.get(1))); } } public void delete(ArrayList<Server> serverList, ArrayList<Integer> operation){ for (Server server : serverList){ if (server.getNo() == operation.get(1)){ serverList.remove(server); break; } } } public Integer select(ArrayList<Server> serverList, ArrayList<Integer> operation){ for (Server server : serverList){ if (server.getState() != 1){ server.setState(1); return server.getNo(); } } return serverList.size(); } public void release(ArrayList<Server> serverList, ArrayList<Integer> operation){ for (Server server : serverList){ if (server.getNo() == operation.get(1)){ server.setState(0); break; } } } class Server{ private Integer no; // 0 for free, 1 for occupied private Integer state = 0; public Integer getNo(){ return this.no; } public void setState(Integer state){ this.state = state; } public Integer getState(){ return this.state; } public Server(int no){ this.no = no; } }
供参考
25:54
以上就是关于问题假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 假设某云为用户提供服务器时,会将准备好的服务器加入到一个使用池中,用户每次只能使用池中的服务器。为了负载均衡,用户每次要使用的时候会优先挑选最早加入的一台服务器来使用。请实现如下四个函数来实现该负载均衡: add函数,提供服务器ID,系统将该服务器加入到使用池中,假设初始状态使用池中没有服务器。 delete函数,提供服务器ID,系统将该ID的服务器从使用池中移除。 select函数,每次用户使用服务器时调用,从使用池中选择最早加入的一台未被占据的服务器,返回其ID,没有可使用的服务器时,返回使用池中的服务器数量。 release函数,每次用户归还服务器时调用,释放该该用户使用的服务器。 输入一个二维数组,其中每个一维数组的第一个元素表示调用的函数,1表示调用add函数,后接一个元素表示ID;2表示调用delete函数,后接一个元素表示ID; 3表示调用select函数;4表示调用release函数,后接一个元素表示ID。