JAvaタイマとマルチスレッドの実践記録
ここ数日mongodbの読み書き分離の問題をテストする必要があるため、タイミングクエリープログラムを書き、マルチスレッドを使用して、タイミング的に複数のスレッドクエリーデータベースを起動する効果を達成し、下のコードはメモを記録します.
package timmer;
import java.util.Timer;
import java.util.TimerTask;
import mongoService.mongoServiceImp.AlarmServiceImpl;
import com.mongodb.DBObject;
public class StartTim {
//
public static void main(String[] args) {
Timer timer1 = new Timer();
// 1 , 5 ,
timer1.schedule(new MyTask(), 1000, 5000);
}
// java timerTask
static class MyTask extends TimerTask {
AlarmServiceImpl alarmService = new AlarmServiceImpl();
//
public void run() {
for (int i = 0; i < 3; i++) {
new Thread(new MyThread(alarmService)).start();
}
}
}
static class MyThread implements Runnable {
AlarmServiceImpl alarmService;
public MyThread(AlarmServiceImpl alarmService) {
super();
this.alarmService = alarmService;
}
public void run() {
System.out.println(Thread.currentThread().getName());
test();
}
public void test() {
System.out.println(" ");
DBObject list = alarmService.findAlarm();
System.out.println(list);
}
}
}