java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)

问题描述

java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)
具体场景如下:
对方提供多个计算服务器供我来调用,计算服务器只能同时计算2个任务。
现在我需要将计算服务器做成可以配置的,然后将任务排队。根据先进先出的原则。
如果所有服务器都在计算任务了。剩下的任务就需要排队了。而计算完成后,在去任务池中取任务。直到任务池的所有任务都处理玩了。

解决方案

使用JDK的线程池【Executors#newFixedThreadPool(2) 】,同时并行两个任务,其他的都在等待(无限队列),
并行任务中1个实行完毕,自动从队列中取一个执行。

解决方案二:
可以靠用NIO实习实现,ServerSocketChannel

解决方案三:
省事的话直接用common-pool。能用就成,错了来一个

解决方案四:
描述的不是很清楚,你是不是要做一个可配置化的队列

时间: 2024-10-30 07:04:47

java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)的相关文章

Java网络编程从入门到精通(8):用getAddress方法获得IP地址

getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址.getAddress方法的定义如下: public byte[] getAddress() 这个方法返回的byte数组是有符号的.在Java中byte类型的取值范围是-128?127.如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数.由于Java中没有无符号byte类型,因此

网页 ip-网页怎么通过一个按钮发送数据(数据库里的数据)到指定IP?

问题描述 网页怎么通过一个按钮发送数据(数据库里的数据)到指定IP? 网页怎么通过一个按钮发送数据(数据库里的数据)到指定IP?网页程序是怎么写的?

一个连接池的例子(说明)

这个连接池是直接从JIVE中取出来的,进行了一下修改,使得连接参数直接在程序中设定而不是从属性文件中读取. 用法:先设定自己的连接参数,在DbConnectionDefaultPool.java文件的loadProperties方法中.注意你也需要设定连接池的log文件的存放位置. String driver="org.gjt.mm.mysql.Driver";//这是使用的JDBC驱动String server="jdbc:mysql://192.100.100.1/qin

java web-javaweb 中的连接池出错

问题描述 javaweb 中的连接池出错 出错提示 javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial 下面是我的测试的类 ```public class myCon

tomcat连接池和mysql数据库的中文乱码

问题描述 Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/java101_microblog?useUnicode=true&characterEncoding=UTF-8", "root", "2321456zlq");这样的方式获取连接,中文是没有乱码问题的~

Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址

这个方法用来得到主机的IP地址,这个IP地址可能是IPv4的地址,也可能是IPv6的地址.getHostAddress方法的定义如下: public String getHostAddress() 无论InetAddress对象是使用哪种方式创建的,getHostAddress方法都不会访问DNS服务器.如果想访问使用IPv6地址的远程主机,需要在操作系统上安装IPv6协议.下面是Windows 2003上安装IPv6协议的步骤: 第一步:打开"本地连接"属性对话框.如图1所示. 第二

一个连接池的例子 (一)

//文件:DbConnectionDefaultPool.java的第一部分 //请注意看里面注明的一处需要修改连接参数的地方package com.qingtuo.db.pool; import java.sql.*;import java.util.*;import java.io.*;import java.text.*;import java.util.Date; /** * Default Jive connection provider. It uses the excellent

一个连接池的例子(来自JIVE)(1)

//文件:DbConnectionDefaultPool.java的第一部分//请注意看里面注明的一处需要修改连接参数的地方package com.qingtuo.db.pool;import java.sql.*;import java.util.*;import java.io.*;import java.text.*;import java.util.Date;/** * Default Jive connection provider. It uses the excellent con

一个连接池的例子(来自JIVE)(6)

//文件:PropertyManager.java //这个类其实没什么用了,可以去掉,但需要去掉前面几个类中对这个类的引用.package com.qingtuo.db.pool; import java.util.*;import java.io.*; /** * Manages properties for the entire Jive system. Properties are merely * pieces of information that need to be saved