- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个长时间运行的进程,我想将其封装为一个 Runnable 并将其分派(dispatch)到一个线程中。更具体地说,我有一个在文件系统中创建文件的 POST Web 服务,但文件的创建可能需要很长时间。
在我的 Web 服务的资源方法中,我希望能够分派(dispatch)一个线程来创建文件并返回状态 200。我认为我不能只执行 Thread.join,因为这意味着当前线程必须等待文件创建线程完成。相反,我想将文件创建线程加入主线程。问题是,如何在 java 中获取主线程?
最佳答案
我不确定我是否理解正确。这是我的理解:
您想执行一个可能长时间运行的操作(文件创建)您不希望在执行该任务时阻塞服务方法您希望任务在存在于单个请求的边界/生命周期之外的线程中执行。
到目前为止我说得对吗?
如果真的建议您查看 java.util.concurrent 中的新概念。那里描述的概念应该给你足够的信息来解决这个问题
基本信条:不要按线程思考,而是按任务思考。
一般书籍推荐:Brian Goetz 的 Java Concurrency in Practice
关于java - 如何在java中获取主线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192112/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!