线程终止时,jvm是否释放线程的堆栈

彼得罗·西亚里亚尼斯(Petros Tsialiamanis)

我在计算机上以及在具有jvm参数的客户计算机上运行以下程序-Xmx1024m

int i=0;
while(true)
{
  new Thread().start();
  i++;
}

这两台机器都有windows 7jdk 7 32bits

在我的机器上,当我大约3M时,我终止了该过程。在客户的机器上,OutOfMemoryError: unable to create new native Thread当i约为8K时,程序抛出一个

我使用jvm parameter重试了该实验-Xmx24m在这种情况下,当i约为24K时,客户计算机上的程序会抛出相同的错误。如果我使用减小线程的堆栈跟踪到128K,也有一个小的增量-Xss

线程终止时,似乎客户的计算机没有释放线程的堆栈。

有人遇到过这个问题吗?有任何想法吗?

马克·托波尼克(Marko Topolnik)

您依赖于有关线程启动和随后终止的速度的详细信息。在一台机器上,线程生成过程会超过线程死亡进程,而在另一台机器上,它恰好相反。您的计数器仅跟踪创建的线程总数,而不跟踪任何时间点存在的线程净数量。

要点:测试代码无助于证明有关运行时的任何重要信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

线程终止时jvm是否释放线程的堆栈

来自分类Dev

释放线程时死锁

来自分类Dev

如何获得QWebView释放线程?

来自分类Dev

在Delphi中使用线程队列时,如何确保释放线程?

来自分类Dev

如何使用Numba在Python中释放线程的GIL?

来自分类Dev

如何释放线程本地存储的堆内存

来自分类Dev

无法在android上的opengles中释放线程

来自分类Dev

线程终止时是否调用了“SIGKILL”?

来自分类Dev

线程释放资源时

来自分类Dev

当线程释放其资源时

来自分类Dev

为什么从python Queue消耗完所有工作后就不释放线程

来自分类Dev

Python在休眠时终止线程

来自分类Dev

Python在休眠时终止线程

来自分类Dev

当创建COM对象的线程终止时,它会被CLR释放吗?

来自分类Dev

Java尝试捕获是否在父线程被阻塞时使用闭包捕获终止子线程?

来自分类Dev

终止线程

来自分类Dev

MVC中的异步/等待-为什么在长时间运行的操作中释放线程很重要

来自分类Dev

如何检查Java线程是否异常终止?

来自分类Dev

Python的ThreadPoolExecutor是否终止空闲线程?

来自分类Dev

绑定队列线程池线程在jboss关闭时未终止

来自分类Dev

jboss关闭时,绑定队列线程池线程未终止

来自分类Dev

在终止时杀死所有线程

来自分类Dev

在 STA 线程中创建的 COM RWC 在线程终止时与底层 COM 对象断开连接是否正常?

来自分类Dev

System.Timers.Timer是否在中止其工作线程时终止?

来自分类Dev

使用JUnit完成时如何测试正在运行的线程是否正确终止

来自分类Dev

调度线程时的JVM公平性

来自分类Dev

调度线程时的JVM公平性

来自分类Dev

Java中的线程,具有main()的堆栈可以在具有run()的堆栈之前终止/结束吗?

来自分类Dev

FreeAndNil 过程是否也释放在线程中创建的 TStringList?

Related 相关文章

  1. 1

    线程终止时jvm是否释放线程的堆栈

  2. 2

    释放线程时死锁

  3. 3

    如何获得QWebView释放线程?

  4. 4

    在Delphi中使用线程队列时,如何确保释放线程?

  5. 5

    如何使用Numba在Python中释放线程的GIL?

  6. 6

    如何释放线程本地存储的堆内存

  7. 7

    无法在android上的opengles中释放线程

  8. 8

    线程终止时是否调用了“SIGKILL”?

  9. 9

    线程释放资源时

  10. 10

    当线程释放其资源时

  11. 11

    为什么从python Queue消耗完所有工作后就不释放线程

  12. 12

    Python在休眠时终止线程

  13. 13

    Python在休眠时终止线程

  14. 14

    当创建COM对象的线程终止时,它会被CLR释放吗?

  15. 15

    Java尝试捕获是否在父线程被阻塞时使用闭包捕获终止子线程?

  16. 16

    终止线程

  17. 17

    MVC中的异步/等待-为什么在长时间运行的操作中释放线程很重要

  18. 18

    如何检查Java线程是否异常终止?

  19. 19

    Python的ThreadPoolExecutor是否终止空闲线程?

  20. 20

    绑定队列线程池线程在jboss关闭时未终止

  21. 21

    jboss关闭时,绑定队列线程池线程未终止

  22. 22

    在终止时杀死所有线程

  23. 23

    在 STA 线程中创建的 COM RWC 在线程终止时与底层 COM 对象断开连接是否正常?

  24. 24

    System.Timers.Timer是否在中止其工作线程时终止?

  25. 25

    使用JUnit完成时如何测试正在运行的线程是否正确终止

  26. 26

    调度线程时的JVM公平性

  27. 27

    调度线程时的JVM公平性

  28. 28

    Java中的线程,具有main()的堆栈可以在具有run()的堆栈之前终止/结束吗?

  29. 29

    FreeAndNil 过程是否也释放在线程中创建的 TStringList?

热门标签

归档