我可以在 JSP 中生成新线程吗?

2024-02-09

我需要从 JSP 创建一个新线程。在 JSP 中生成线程是个好主意吗?
有没有其他方法?


It is 绝对不在 JSP/Servlet Web 应用程序中手动生成非托管线程是一个好主意。当然不是在 JSP 端完成,因为它在任何方面都不符合 JSP 的职责。

线程是一种相对危险的资源,需要格外小心地对待。想象一下,您的 JSP 在每个请求上生成一个新线程,那么您的 Web 服务器将在(例如)1000 个请求后被终止。你需要重新启动它。

即使您在每个用户的基础上正确控制线程的使用和终止,您仍然需要确保单个访问者不能在会话范围内生成多个线程。但是,当您有 1000 个并发会话时,您的服务器仍然会被终止。

您需要一个应用程序范围的共享线程池,而不是最多锁定 10~20 个线程或其他线程。通常,一个像样的 Java EE 容器已经提供了它。您需要检查其管理控制台和/或手册以了解如何配置和使用它。您最终还可以自己创建一个线程池,例如ExecutorService in a ServletContextListener,但是您应该真正了解线程的工作原理以及如果您做错了会产生什么影响。

以下是几个相关问题,可以从中获得一些想法:

  • JSP/Servlet Web 应用程序中的后台计时器任务 https://stackoverflow.com/questions/5357033/background-timer-task-in-jsp-servlet-web-application
  • 如何在基于 servlet 的 Web 应用程序中运行后台任务? https://stackoverflow.com/questions/4691132/how-to-keep-the-servlet-continously-running
  • 在 Tomcat 中从 servlet 生成线程的推荐方法是什么 https://stackoverflow.com/questions/3745905/what-is-recommended-way-for-spawning-threads-from-a-servlet-in-tomcat
  • 在 JSF 托管 bean 中启动新线程是否安全? https://stackoverflow.com/questions/6149919/is-it-safe-to-start-a-new-thread-in-a-jsf-managed-bean
  • 使用计时器在 JSF 托管 Bean 中为计划任务生成线程 https://stackoverflow.com/questions/7499534/applicationscope-bean-that-uses-a-timertask-sheduler-good-or-bad
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 JSP 中生成新线程吗? 的相关文章

  • 为什么绿色线程不能在多核上工作

    在维基百科上 绿色线程 http en wikipedia org wiki Green threads被描述为通常无法在多核上运行 而没有解释原因 在多核处理器上 本机线程实现可以 自动将工作分配给多个处理器 而绿色线程 实现通常不能 我
  • 当可能存在迭代器时替换并发集合是否是线程安全的?

    我一直在阅读各种内容 似乎这应该有效 但我想确定一下 我有一个静态属性 它应该是一个缓存 加上一些与缓存数据相关的其他功能 它将实际数据存储在 ConcurrentBag 中 并且有一个 IEnumerable 方法来 过滤并 从此包中生成
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 GetThreadTimes 返回

    我试图测量线程中花费的时间以用于进度报告目的 但我从 GetThreadTimes 系统调用中得到非常奇怪的结果 给出以下程序 在 VS 2013 中编译 针对 NET 4 5 using System using System Diagn
  • 优化计算中使用的 # 个线程的算法

    我正在执行一个操作 我们将其称为CalculateSomeData CalculateSomeData 在连续的 代 中运行 编号为 1 x 整个运行中的代数由CalculateSomeData 的输入参数固定 并且是先验已知的 完成一次生
  • ASP.NET 开发人员真的需要关心线程安全吗?

    我认为自己了解线程的概念以及为什么某些代码是或不是 线程安全 的 但作为主要使用 ASP NET 的人 线程和线程安全是我很少考虑的事情 然而 我似乎在 Stack Overflow 上遇到了大量评论和答案 不一定适用于 ASP NET 大
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 向无锁队列添加阻塞函数

    我有一个基于循环缓冲区的无锁多生产者 单消费者队列 到目前为止 它只有非阻塞push back and pop front 来电 现在我想添加这些调用的阻塞版本 但我想尽量减少这对使用非阻塞版本的代码性能的影响 也就是说 它不应该将它们变成
  • 如何延迟 onClick 操作

    我正在尝试在 java 应用程序 android 中做一些事情 并且我需要一些东西来延迟 等待循环的秒数 我怎样才能延迟android功能 我尝试过使用 Thread sleep TimeUnit sleep 但它只会执行几秒钟的不负责任的
  • 并发访问且不受数据结构的影响

    问题是这样的 我有一个包含 500 个指针的数组 它们指向双向链表中的 500 个元素 有 10 个并行运行的线程 每个线程运行 50 个循环 并尝试释放列表中的某些元素 该列表已排序 包含简单整数 并且有 10 个其他线程并行运行 搜索包
  • 如何处理或避免BlockedIndefinitelyOnSTM异常?

    我花了很多时间来解决我正在处理的应用程序中遇到的问题 该应用程序是一个 Web 应用程序 使用 scotty 公开 REST 端点 它使用一个TVar保持其更新的状态STM a由前端层触发的动作 由于该应用程序基于事件溯源原则 因此业务层生
  • 为并行的小型已知冻结进程创建匿名 AsyncTask 是一个好习惯吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 例如 您要做一些需要几秒钟的事情 并且不想冻结您的 UI 线程 对吗 您可以使用 AsyncTask 但您不想创建外部 或内部 类来解决小冻结问
  • Netty UDP 服务器中的线程未同时执行

    我正在分析的代码使用 Netty NioDatagramChannelFactory 创建 UDP 服务器 它创建一个线程池 ExecutorService threadPool Executors newCachedThreadPool
  • 从子线程绘制到窗口

    我的应用程序从工作线程绘制图形已有 10 多年了 而且我从未遇到过任何问题 工作线程吸引到我的HWND 由主线程创建 如下所示 hdc GetDC hwnd SetDIBitsToDevice or StretchDIBits Releas
  • 无法访问类型的封闭实例。 [复制]

    这个问题在这里已经有答案了 整个代码是 public class ThreadLocalTest ThreadLocal
  • 多线程环境下如何更好的使用ExecutorService?

    我需要创建一个库 其中包含同步和异步方法 executeSynchronous 等待直到有结果 返回结果 executeAsynchronous 立即返回一个 Future 如果需要 可以在其他事情完成后进行处理 我的图书馆的核心逻辑 客户
  • 如何在其他核心上运行每个线程?

    我有一个 udp 服务器接收数据并计算它 每个角色我都有两个线程 我的CPU是8个多核 我以不同的速度发送数据 但最多我只使用了 cpu 两核 50 的 14 如果我发送更多的数据值 我的缓冲区将填满并且不会使用更多的CPU 为什么每个核心
  • Java:使用 Java.util.concurrent 线程访问读取线程串行端口

    我正在尝试编写一个 Java 串行设备驱动程序并想使用 对我来说是新的 java util concurrent包裹 我有一种发送数据包然后等待 ACK 的方法 我打算有炭 接收在不同的线程中运行 如果接收线程收到 ACK 它应该使用发送数
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub

随机推荐

  • 如何处理 IncompleteRead: 在 python 中

    我正在尝试从网站获取一些数据 然而它返回了我incomplete read 我试图获取的数据是一组巨大的嵌套链接 我在网上做了一些研究 发现这可能是由于服务器错误 之前的分块传输编码完成 达到预期大小 我还找到了上述问题的解决方法link
  • Nifi:如何使 ListenHTTP 与 SSL 配合使用

    客观的 由于 Nifi 通过 HTTP 与其他工具集成 我必须ListenHTTP处理器面向公众 所有 3 个环境上的 API 网关对我来说太贵了 所以我关闭了所有虚拟机入口端口 除了ListenHTTP 对于外部网络 Issue 我的配置
  • 从终端打开 iPhone 应用程序

    是否可以从终端打开 iPhone 应用程序或 Xcode 项目 我已经尝试过 open path to project app 但这会返回警告并由于启动模拟器时出现图像加载错误而意外退出 有没有人有什么建议 您无法从终端启动 iPhone
  • 缓存图像的 CORS 策略

    在 chrome 22 和 safari 6 中 使用启用 CORS 的 S3 存储桶从 s3 加载图像以在画布中使用 以提取为主要目的 代码如下 img src http s3 bob jpg In the javascript exec
  • 重新访问变量 X 的无效类型(列表),其中 X 是日期类

    今天早些时候 我关注了以下主题并看到了答案 变量 X 的类型 列表 无效 其中 X 是日期类 https stackoverflow com questions 27606380 invalid type list for variable
  • Google Cloud dev_appserver.py 无法在本地托管 Laravel 项目

    我正在运行 Laravel 5 4 项目 并托管在 google cloud 项目下 为了测试相同的内容 我使用了dev appserver py app yaml runtime php55它启动程序但抛出显示的错误 Warning re
  • Parallel.ForEach 内存使用量持续增长

    public string SavePath get set I files public void DownloadList List
  • 如何将matlab中的绘图设置为特定大小?

    一般来说 我希望将相当复杂的 x y 图 大量重叠曲线 绘制为 A3 格式 因此 A4 210x297 A3 A4 2 420 x 297 10mm each side 400 x 277 size of desired plot wind
  • 如何更改 Google 地图标记上的图标

    我想在 Google 地图上使用我的自定义图标 并在代码中添加了图标 url 但它仍然没有反映在地图上 谁能建议一下 我在这里缺少什么 为什么添加图标 url 后图标没有改变 http google maps icons googlecod
  • 减速器中的 React-redux Spread 运算符返回错误“意外令牌”

    我遵循 Dan Abramov 的代码https github com tayiorbeii egghead io redux course notes blob master 08 Reducer Composition with Arr
  • 有什么理由只传递第一个元素而不是整个数组? [复制]

    这个问题在这里已经有答案了 好的 昨天我有一位同事来到我的办公室 问我一个关于他必须使用的 Fortran 代码的问题 基本上 他使用的代码有一个长的多维数组 以及一个需要这个长的多维数组作为参数的子例程 但是 调用该子例程的代码仅传递数组
  • CSS 中缩放渐变背景

    第一次提问 请对我宽容一些 我正在尝试为使用 JQuery Mobile 的网络应用程序制作背景渐变 我对 CSS 和 UI 设计一无所知 我希望渐变填充整个页面的空间 现在 它填充到原始窗口的大小 但向下滚动时会 切断 大多数建议都指向这
  • 如何在 Android Native Code 中使用 Keystore?

    我需要加密由用 C 编写的 android 本机服务创建的一些文件 我必须使用密钥库 但我不知道如何使用 有什么库或者文档吗 我知道该线程很旧 但也许它会对将来的某人有所帮助 以下提示参考 Android Keystore v3 和 v4
  • javascript/dashcode:检查互联网连接

    我正在开发一个通过ajax从互联网获取数据的小部件 如果该小部件无法连接到服务器 我想提供一条错误消息 我正在使用 jquery 的 ajax 对象执行请求 该对象提供了错误回调函数 但是当没有互联网连接时 仅当发出请求但因其他原因失败时才
  • AngularJS $http.post如何将json数据设置到请求正文中

    我正在尝试将带有 json 数据的 post 请求发送到服务器 但似乎 angularJS http post 方法没有将数据设置到正文中 我怎样才能让它将数据设置到正文中 远程服务器使用asp net webapi实现 将从body中读取
  • webpack 中的 module、chunk、bundle 分别是什么?

    我不太理解模块 块和捆绑等概念 entry foo webpack hot only dev server js src foo js bar src bar js output path dist filename name js 上述配
  • 插入忽略 - 有没有办法知道语句是否被忽略? MYSQL [重复]

    这个问题在这里已经有答案了 sql insert INSERT IGNORE if mysql query sql insert link or die Insertion Failed mysql error code to execut
  • Bash,eval 中的 CTRL+C 不会中断主脚本

    在我的 bash 脚本中 我正在运行存储在中的外部命令 cmd多变的 它可以是任何东西 甚至是一些简单的 bash oneliner If ctrl C is pressed while running the script I want
  • ACF 字段未显示在 WordPress 自定义分类页面上

    我在自定义分类页面上显示 ACF 时遇到问题 自定义税是 目的地 页面为taxomony destinations php 该字段称为 destination landing image 我试图将其显示在 mysite com destin
  • 我可以在 JSP 中生成新线程吗?

    我需要从 JSP 创建一个新线程 在 JSP 中生成线程是个好主意吗 有没有其他方法 It is 绝对不在 JSP Servlet Web 应用程序中手动生成非托管线程是一个好主意 当然不是在 JSP 端完成 因为它在任何方面都不符合 JS