java多线程问题
java.util.concurrent包自带的线程池,设置线程池大小的时候是越大越好吗?我测试了一下,设置的越大效率并不是最高,但是怎么设置算是合适的大小?
我要做一个多线程的例子,在一个目录下有N个文件,多少个不清楚,需要写个多线程来读这些文件,暂定10个线程读取文件,每个线程读各自的文件,互不干扰,读完后将文件内容插入到数据库表,这个该怎么设计呢?
没人回答吗?
一般的线程个数是当前机器的CPU个数+1
5个线程我认为已经很强了
如果是4核CPU,,我估计20个线程都能高效
学习,路过....
有一个公式:
线程数 = CPU数 * 目标CPU利用率(0 <u <1) * (1 + 等待时间/计算时间)
根据你的业务需求来。
刚开始不要决定线程数量,因为,有些情况是要视你部署的环境有关,比如,你部署在solaris和linux上就是两种不同的优化方案。没有最优,只有更优。
{{
相关问答:
我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......
<%@page language="java" contentType="text/html;charset=gb2312" import="java.sql.*"%>
<jsp:useBean id="db" class="wang.connectDB"/>
< ......
三个数x,y,z 比大小..
var x,y,z,t;
if (x>y)
{t=x;x=y;y=t;} //交换x,y的值
if(x>z)
{t=z;z=x;x=t;}//交换x,z的值
if(y>z)
{t=y;y=z;z=t;}//交换z,y的值
这是 ......