【问题标题】:Using Multithreading with RMI在 RMI 中使用多线程
【发布时间】:2015-07-16 19:09:14
【问题描述】:

如何访问 RMI 中使用的线程池?

我读到 RMI 为每个远程调用管理线程创建,但我想要一种可以操作线程创建的方法。

我需要限制线程的数量,例如,只有两个线程为两个客户端服务,如果另一个客户端进行调用,它将等待之前创建的两个线程之一可用。

换句话说,我想在 RMI 中实现一个固定大小的线程池。我该怎么做?

【问题讨论】:

    标签: java multithreading threadpool rmi


    【解决方案1】:

    如何访问 RMI 中使用的线程池?

    RMI 中没有使用线程池。至少在 Sun/Oracle 构建的 RMI 中没有。

    我读到 RMI 管理每个远程调用的线程创建过程

    当然,但不是通过线程池。

    但我想要一种可以在该过程中进行操作的方法。我需要限制线程的数量,以便只有两个线程——例如——为两个客户端提供服务,如果另一个客户端进行调用,它将等待其中一个线程可用。

    您没有说明原因,这听起来像是一个糟糕的主意,或者是计数信号量的工作,但您不能按照描述的那样做。 RMI 规范谨慎地不保证线程与客户端的关联。

    换句话说,我想在 RMI 中实现一个固定大小的线程池。 我该怎么做?

    你不能。

    【讨论】:

    • 您能否提供有关如何实现此类功能的可能方向?我见过很多类似的问题,有类似的关闭答案。
    • @slmatrix 带有计数信号量,正如我在你问之前三年半之前在这里写的那样。
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多