如何在标准JAX-RS中使用线程?

时间:2015-01-12 11:58:01

标签: java multithreading asynchronous jax-rs

我正在编写一个针对JAX-RS环境的小型库。我计划使用@Suspended AsyncResponse进行服务器端利用。

public void writeFile(@Suspended AsyncResponse asyncResponse,
                      InputStream entity) {

    // store entity to a temp file.

    // distribute temp file to siblings.
    for (URI sibling : siblings) {
        // send temp file to sibling // i want to use thread.
    }
}

我已经知道使用@Suspended AsyncResponse可以提高吞吐量。我想使用线程来提高吞吐量。

我的问题是如何在JAX-RS中使用线程?是安全还是推荐?

一些示例显示刚刚启动一个新的Thread实例。一些示例显示使用Executor实例。

@Inject Executor executor; // Is this automatically injected?

public void writeFile(@Suspended AsyncResponse asyncResponse,
                      InputStream entity) {

    // store entity to a temp file.

    // distribute temp file to siblings.
    for (URI sibling : siblings) {
        // new Thread().start; // is this ok?
    }
}

0 个答案:

没有答案