【问题标题】:How to check if java Subject.doAs method executed in separate thread?如何检查 java Subject.doAs 方法是否在单独的线程中执行?
【发布时间】:2014-11-03 17:24:38
【问题描述】:

我发现这个方法通过了

  PrivilegedExceptionAction

这个对象有方法run()。这是否意味着将创建单独的线程来执行?如果是,请提供创建此线程的部分代码。没找到。

【问题讨论】:

    标签: java multithreading action privileges subject


    【解决方案1】:

    我想这也许是你从 SCJP Book 中得到的答案:

    重载的 run(String s) 方法将被忽略 线程类,除非你自己调用它。 Thread 类需要一个 run() 方法 没有参数,它将在单独的调用堆栈中为您执行此方法 线程启动后。使用 run(String s) 方法,线程 类不会为你调用方法,即使你直接调用方法 你自己,执行不会发生在一个单独的执行线程中 调用栈。它只会发生在与您制作的代码相同的调用堆栈中 调用 from,就像任何其他正常的方法调用一样。

    【讨论】:

    • 但我问过标准 jdk 的工作原理。这不是我的代码。
    【解决方案2】:

    不,Subject.doAs 在同一个线程中运行代码,只是使用给定的主题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多