那么假设创建一个线程需要占用 10M 虚拟内存,总共有 3G 虚拟内存可以使用。于是我们可以算出,最多可以创建差不多 300 个(3G/10M)左右的线程。 如果你想自己做个实验,你可以找台 32 位的 Linux 系统运行下面这个程序: 由于我手上没有 32 位的系统,我这里贴一个网上别人做的测试结果: 如果想使得进程创建上千...
于是我们可以算出,最多可以创建差不多 300 个(3G/10M)左右的线程。 如果你想自己做个实验,你可以找台 32 位的 Linux 系统运行下面这个程序: 由于我手上没有 32 位的系统,我这里贴一个网上别人做的测试结果: 如果想使得进程创建上千个线程,那么我们可以调整创建线程时分配的栈空间大小,比如调整为 512k: $...
于是我们可以算出,最多可以创建差不多 300 个(3G/10M)左右的线程。 如果你想自己做个实验,你可以找台 32 位的 Linux 系统运行下面这个程序: 由于我手上没有 32 位的系统,我这里贴一个网上别人做的测试结果: 如果想使得进程创建上千个线程,那么我们可以调整创建线程时分配的栈空间大小,比如调整为 512k: $ ...
于是我们可以算出,最多可以创建差不多 380个(3G/8M)左右的线程。 如果想使得进程创建上千个线程,那么我们可以调整创建线程时分配的栈空间大小,比如调整为 512k: 64位系统 64 位系统意味着用户空间的虚拟内存最大值是 128T,这个数值是很大的,一个线程需占用 8M 栈空间的情况来算,那么理论上可以创建 128T/8M...
那么假设创建一个线程需要占用 10M 虚拟内存,总共有 3G 虚拟内存可以使用。于是我们可以算出,最多可以创建差不多 300 个(3G/10M)左右的线程。 如果你想自己做个实验,你可以找台 32 位的 Linux 系统运行下面这个程序: 由于我手上没有 32 位的系统,我这里贴一个网上别人做的测试结果: ...