首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

关于java多线程编程的有关问题?

2012-09-10 
关于java多线程编程的问题??我现在已经写好了一个在线客服机器人的接口,该接口的功能是接受一个String inp

关于java多线程编程的问题??
我现在已经写好了一个在线客服机器人的接口,该接口的功能是接受一个String input,返回一个String response。为了让问题清楚一点,我把这个接口抽象成一个类:

Java code
class chart{     private String input="";     public String myRobot(String input){           String response="";            //.....(具体的实现)           return response;     }}


现在就是说,实例化chart这个类,然后调用里面的myRobot方法就能聊天。

但是,假如我要把这个接口用到网站上去。我们知道肯定会有很多用户同时使用在线客服机器人这个功能,那么就是多线程了。我想在这个类上面在套一层多线程代码,而我又不知道需要什么信息来触发程序new 一个线程,以及向这样的多线程应该注意什么问题??我没有多线程编程的经验,能否指导一下,万分感谢!!!

[解决办法]
将这个类每次都new就可以了。
[解决办法]
这里有二种设计需要你来进行选择:
1、每有一个接入的用户,就让他和一个机器人对答
2、如果接入用户过多,则应进行等待,等待有空闲机器人。

如果机器人程序很庞大,同时您的服务器机器硬件条件并不是很充裕,则应选择第二种设计方案。否则应该第 1 种。

对于第 1 种设计,因为是网站,所以最终应该是通过 Servlet 标准的 service() 方法来响应启动的:
Java code
puboic void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{  // 首先,这里应从 req 中拆解出 input 字符串  chart robot = new chart();  String response = robot.myRobot(input);  // 最后,将 response 进行包装,通过 resp 输出到客户端(浏览器)}
[解决办法]
用多线程,最要注意的就是,你用到了全局变量,多线程访问时,你的全局变量会给你找麻烦的,要用到同步哦
[解决办法]
探讨
用多线程,最要注意的就是,你用到了全局变量,多线程访问时,你的全局变量会给你找麻烦的,要用到同步哦

热点排行