Java多线程执行,主程序等待其他线程执行完成
2013-09-10 17:22
295 查看
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
public class MltPutBench {
public static void main(String[] args)throws IOException {
Configuration conf = HBaseConfiguration.create();
HTable table1 = new HTable(conf,"testtable");
HTable table2 = new HTable(conf,"testtable");
HTable table3 = new HTable(conf,"testtable");
PutThread p1 = new PutThread("t1",table1);
PutThread p2 = new PutThread("t2",table2);
PutThread p3 = new PutThread("t3",table3);
p1.s
4000
tart();
p2.start();
p3.start();
try{
p1.join();
p2.join();
p3.join();
}catch ( InterruptedException e ){
e . printStackTrace ();
}
System.out.println("Run finished");
}
}
class PutThread extends Thread{
private HTable tb;
private String tname;
PutThread(String name, HTable table){
super(name);
tname = name;
tb = table;
}
public void run(){
Put put=null;
for(int i=0;i<3330 ;i++){
put = new Put(Bytes.toBytes("row"+i));
put.add(Bytes.toBytes("colfam1"),Bytes.toBytes("qual"+i),Bytes.toBytes("val"+i));
try{
long beginTime = System.currentTimeMillis();
tb.put(put);
long consumeTime = System.currentTimeMillis() - beginTime;
System.out.println("Timeuse of "+tname+":"+consumeTime);
}catch(IOException e){
System.out.println("Error");
}
}
}
}
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
public class MltPutBench {
public static void main(String[] args)throws IOException {
Configuration conf = HBaseConfiguration.create();
HTable table1 = new HTable(conf,"testtable");
HTable table2 = new HTable(conf,"testtable");
HTable table3 = new HTable(conf,"testtable");
PutThread p1 = new PutThread("t1",table1);
PutThread p2 = new PutThread("t2",table2);
PutThread p3 = new PutThread("t3",table3);
p1.s
4000
tart();
p2.start();
p3.start();
try{
p1.join();
p2.join();
p3.join();
}catch ( InterruptedException e ){
e . printStackTrace ();
}
System.out.println("Run finished");
}
}
class PutThread extends Thread{
private HTable tb;
private String tname;
PutThread(String name, HTable table){
super(name);
tname = name;
tb = table;
}
public void run(){
Put put=null;
for(int i=0;i<3330 ;i++){
put = new Put(Bytes.toBytes("row"+i));
put.add(Bytes.toBytes("colfam1"),Bytes.toBytes("qual"+i),Bytes.toBytes("val"+i));
try{
long beginTime = System.currentTimeMillis();
tb.put(put);
long consumeTime = System.currentTimeMillis() - beginTime;
System.out.println("Timeuse of "+tname+":"+consumeTime);
}catch(IOException e){
System.out.println("Error");
}
}
}
}
相关文章推荐
- JAVA多线程—CountDownLatch-一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
- java中等待其他线程执行完成之后,再去执行别的方法
- CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
- CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待
- java线程池主线程等待子线程执行完成后再继续处理后面工作
- 等待几个异步任务都完成后在执行其他的操作
- ExecutorService java线程池主线程等待子线程执行完成
- 主线程等待子线程全部执行完成
- Java多线程--让主线程等待所有子线程执行完毕
- java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
- Java中等待提交线程池的所有线程执行完成
- Thread.join()方法实现main()方法等待所有子线程执行完成[base jdk8]
- Java多线程--让主线程等待所有子线程执行完毕
- .Net最简单的创建多线程主线程等待所有线程执行完成的例子
- CountDownLatch--一组线程完成后其他线程才执行(一)
- 主线程等待所有子线程完成后再执行
- 主线程等待所有子线程完成后再执行
- java线程池主线程等待子线程执行完成后再继续处理后面工作
- 主线程等待几个子线程执行完成方案
- 主线程等待所有子线程完成后再执行