servlet挂起和恢复的问题,难!!!

tianch 2005-01-20 02:09:12
在web应用中,servlet需要执行特殊操作,此操作只允许5个线程执行,因此,我想在servlet开始执行的时候,把servlet放到一个Vector里,然后挂起(suspend),后台有个线程监视正在执行此操作的servlet的数目,当小于5时从Vector中取出一个servlet,让他恢复(resume)执行。
在cs中我用thread实现了,可是servlet中没有suspend方法和resume方法。请问一下有方法能实现此功能吗?
...全文
139 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-01-20
  • 打赏
  • 举报
回复
我觉得不可能,因为servlet都是由服务器分配独立得线程来处理响应的,我们写的servlet只是在执行这个线程里面的操作。所以我们所能控制的只是对当前线程的操作,而无法对分配线程进行控制!
servlet由两个模式一个就是普通的由服务器分配的多线程,还有一种是单线程模式,就和线程里面的同步是一样的,由一个线程处理所有的请求。
而你的要求不是这两种之一,服务器也没有提供给我们设置请求数目的配置,所以我觉得是没办法实现的
GJA106 2005-01-20
  • 打赏
  • 举报
回复
这个应该是容器作的事情。因为创建线程我们看不到,也调用不到,只是extends HttpServlet而以。
tianch 2005-01-20
  • 打赏
  • 举报
回复
并不是tcount>5时不做任何处理
tianch 2005-01-20
  • 打赏
  • 举报
回复
我希望的是tcount>5时,新产生的servlet都处在挂起(suspend),或者等待(wait)状态,后台有一个线程实时查看tcount,当小于5时,从vector中取出一个servlet,让它恢复(resume或notify)运行
zyg158 2005-01-20
  • 打赏
  • 举报
回复
学习
GJA106 2005-01-20
  • 打赏
  • 举报
回复
servlet的线程数是由应用服务器控制的,到底生成多少个servlet线程可以通过配置控制。
不过,通过静态属性应该可以记录servlet线程数量,然后控制servlet线程数。
...
static tcount
...
当tcount>5时,直接返回不作任何处理;tcount<=5时,允许程序往下走作其它处理,tcount++(结束处理时tcount--)。
dabo1980 2005-01-20
  • 打赏
  • 举报
回复
关注了!
lvyuanfang 2005-01-20
  • 打赏
  • 举报
回复
up
tianch 2005-01-20
  • 打赏
  • 举报
回复
不是,是把每个执行这种操作的servlet都放到vector中,后台从vector中取出再执行servlet
xitianjile 2005-01-20
  • 打赏
  • 举报
回复
是把超过5个之后的servlet放到vector中吗??
以梦为马 2005-01-20
  • 打赏
  • 举报
回复
友情up。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧