zoukankan      html  css  js  c++  java
  • 如何科学的高效率的选择创建线程数

    如何科学的高效率的选择创建线程数

    这里写图片描述

    因为我电脑的配置有点高 ,所以创建了九千多条没出错,我也不想在测试了,csdn再更新 我也老是登陆不了所以我就直接把答案放出来,以前测试的结果:

    Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start0(Native Method)
        at java.lang.Thread.start(Thread.java:693)
        at geym.zbase.ch7.oom.MultiThreadOOM.main(MultiThreadOOM.java:23)

    分析问题:

    这个异常问题本质原因是我们创建了太多的线程,而能创建的线程数是有限制的,导致了异常的发生。能创建的线程数的具体计算公式如下:
    (MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads

    MaxProcessMemory:指的是一个进程的最大内存
    JVMMemory : JVM内存
    ReservedOsMemory: 保留的操作系统内存
    ThreadStackSize : 线程栈的大小

    注:在创建一个线程的时候,虚拟机会在JVM内存创建一个Thread对象同时创建一个操作系统线程,而这个系统线程的内存用的不是JVMMemory,而是系统中剩下的内存(MaxProcessMemory - JVMMemory - ReservedOsMemory)。


    【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】


    —–乐于分享,共同进步!
    —–更多文章请看:http://blog.csdn.net/duruiqi_fx


  • 相关阅读:
    VMware安装Ghost版Win10 失败的解决方法
    供销平台能导入不能编辑商品的问题
    bootstrap导航菜单做active判断
    phantomjs读取文件转换数组
    网址收藏
    清理恶意绑定浏览器网址
    sort
    论文等级
    multiThreading
    LZ4压缩算法
  • 原文地址:https://www.cnblogs.com/hainange/p/6153833.html
Copyright © 2011-2022 走看看