【问题标题】:Get name of currently active thread in ThreadPoolExecutor android在 ThreadPoolExecutor android 中获取当前活动线程的名称
【发布时间】:2015-06-27 10:55:10
【问题描述】:

我有一个线程池执行器定义为

现在可以看到,有一个 activeThread。我怎样才能得到它的名字,我想将它与调试器线程列表进行比较,我在任何地方都找不到pool-1-thread-2,但有pool-1-thread-1

这是活动线程还是我如何获取活动线程的名称以与所有正在运行的线程列表进行比较。

【问题讨论】:

    标签: java android multithreading android-studio


    【解决方案1】:

    threadNumber 的值很可能在预期下一个要命名的Thread 时增加。请注意,活动线程的数量和池大小都是 1,这意味着池到目前为止只分配了一个线程......这将是 pool-1-thread-1

    在更一般的概念中,getName() 中有 Thread,您可以在调试器或日志输出中使用监视表达式来查看它。另请注意,有Thread.currentThread() 可以获取当前实例。如果你想变得更复杂,你可以继承Executor

    【讨论】:

    • 感谢解答,看来线程卡在wait()了。当线程调用 response = httpclient.execute(httpGet); 时它挂断;有什么办法可以让它中断/停止或做点什么。我不知道为什么它甚至挂在这里
    • 执行调用正在等待响应,但没有得到响应。请求有问题,服务器端有问题,或者(可能不太可能)连接问题。或者,由于您是从 Android 拨打电话,因此可能存在权限问题。我必须更多地了解上下文并查看日志输出以缩小范围。如果您有对Thread 的引用,您可以致电interrupt(),但这并不能解决根本问题。
    猜你喜欢
    • 2013-06-25
    • 2011-08-05
    • 2016-04-04
    • 1970-01-01
    • 2013-01-01
    • 2015-09-14
    • 2012-01-21
    • 2020-04-19
    • 2013-08-20
    相关资源
    最近更新 更多