package skytest;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class ThreadTest1 {
public static void main(String[] args) {
System.out.println("begin:"+System.currentTimeMillis()/1000);
final BlockingQueue<String> query= new ArrayBlockingQueue<String>(16);
for(int i=0;i<4;i++){
new Thread(new Runnable() {
@Override
public void run() {
try {
while(true){
parseLong(query.take());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
for (int i = 0; i < 16; i++) {
final String log=""+(i+1);
try {
query.put(log);
} catch (InterruptedException e) {
e.printStackTrace();
}
//ThreadTest1.parseLong(log);
}
}
public static void parseLong(String log){
System.out.println(log+":"+System.currentTimeMillis()/1000);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class ThreadTest1 {
public static void main(String[] args) {
System.out.println("begin:"+System.currentTimeMillis()/1000);
final BlockingQueue<String> query= new ArrayBlockingQueue<String>(16);
for(int i=0;i<4;i++){
new Thread(new Runnable() {
@Override
public void run() {
try {
while(true){
parseLong(query.take());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
for (int i = 0; i < 16; i++) {
final String log=""+(i+1);
try {
query.put(log);
} catch (InterruptedException e) {
e.printStackTrace();
}
//ThreadTest1.parseLong(log);
}
}
public static void parseLong(String log){
System.out.println(log+":"+System.currentTimeMillis()/1000);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}