java多线程并发性能调优
下面是代码publicclassThreadTestimplementsRunnable{privateStringtype;publicThreadTest(){}pu...
下面是代码
public class ThreadTest implements Runnable{
private String type;
public ThreadTest(){}
public ThreadTest(String type){
this.type=type;
}
public void run(){
try {
System.out.println(Thread.currentThread().getName()+"____________________"+type);
} catch (Exception e) {
System.out.println(e);
}
}
public void getIndexData(String type) throws Exception{
for (int i = 0; i < 1000; i++) {
new Thread(new ThreadTest(type)).start();
}
}
public static void main(String[] args) {
try {
ThreadTest t=new ThreadTest();
t.getIndexData("测试1");
t.getIndexData("测试2");
t.getIndexData("测试3");
t.getIndexData("测试4");
t.getIndexData("测试5");
t.getIndexData("测试6");
} catch (Exception e) {
e.printStackTrace();
}
}
}
需求,爬取网页的数据,由于数据量过大只能分线程去爬然后插入到数据库
能不能让 测试1执行完了再执行测试2 ...然后一直执行下去
线程这样写会不会有安全性方面的问题(就是当线程数量过大的时候会不会出现线程阻塞等等的异常)
这样写会不会很耗费程序的性能
等等其他未知的问题
小生刚接触线程,急求大神指点,或者更好的解决办法 展开
public class ThreadTest implements Runnable{
private String type;
public ThreadTest(){}
public ThreadTest(String type){
this.type=type;
}
public void run(){
try {
System.out.println(Thread.currentThread().getName()+"____________________"+type);
} catch (Exception e) {
System.out.println(e);
}
}
public void getIndexData(String type) throws Exception{
for (int i = 0; i < 1000; i++) {
new Thread(new ThreadTest(type)).start();
}
}
public static void main(String[] args) {
try {
ThreadTest t=new ThreadTest();
t.getIndexData("测试1");
t.getIndexData("测试2");
t.getIndexData("测试3");
t.getIndexData("测试4");
t.getIndexData("测试5");
t.getIndexData("测试6");
} catch (Exception e) {
e.printStackTrace();
}
}
}
需求,爬取网页的数据,由于数据量过大只能分线程去爬然后插入到数据库
能不能让 测试1执行完了再执行测试2 ...然后一直执行下去
线程这样写会不会有安全性方面的问题(就是当线程数量过大的时候会不会出现线程阻塞等等的异常)
这样写会不会很耗费程序的性能
等等其他未知的问题
小生刚接触线程,急求大神指点,或者更好的解决办法 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询