| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,14 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Date; | ||
| 4 | + import java.util.TimerTask; | ||
| 5 | + | ||
| 6 | + /** | ||
| 7 | + * Created by Brian on 2016/4/15. | ||
| 8 | + */ | ||
| 9 | + public class MyTask extends TimerTask{ | ||
| 10 | + @Override | ||
| 11 | + public void run() { | ||
| 12 | + System.out.println("任务执行了,时间为:"+new Date()); | ||
| 13 | + } | ||
| 14 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,33 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Calendar; | ||
| 4 | + import java.util.Date; | ||
| 5 | + import java.util.Timer; | ||
| 6 | + | ||
| 7 | + /** | ||
| 8 | + * Created by Brian on 2016/4/15. | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * P242 | ||
| 13 | + * schedule(TimerTask task, Date time)测试,在未来执行的效果 | ||
| 14 | + * Timer的构造方法会新启一个线程,且非守护线程 | ||
| 15 | + */ | ||
| 16 | + public class Run1_timer1 { | ||
| 17 | + public static void main(String[] args) { | ||
| 18 | + System.out.println("当前时间为:"+new Date()); | ||
| 19 | + Calendar calendar = Calendar.getInstance(); | ||
| 20 | + calendar.add(Calendar.SECOND,5); | ||
| 21 | + Date runDate = calendar.getTime(); | ||
| 22 | + | ||
| 23 | + MyTask task = new MyTask(); | ||
| 24 | + Timer timer = new Timer(); | ||
| 25 | + timer.schedule(task,runDate); | ||
| 26 | + } | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + /* | ||
| 30 | + 输出: | ||
| 31 | + 当前时间为:Fri Apr 15 22:10:14 CST 2016 | ||
| 32 | + 任务执行了,时间为:Fri Apr 15 22:10:19 CST 2016 | ||
| 33 | + */ | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,33 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Calendar; | ||
| 4 | + import java.util.Date; | ||
| 5 | + import java.util.Timer; | ||
| 6 | + | ||
| 7 | + /** | ||
| 8 | + * Created by Brian on 2016/4/15. | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * P243 | ||
| 13 | + * schedule(TimerTask task, Date time)测试,在未来执行的效果 | ||
| 14 | + * Timer的构造方法会新启一个守护线程 | ||
| 15 | + * 迅速结束,task任务未被执行 | ||
| 16 | + */ | ||
| 17 | + public class Run1_timer2 { | ||
| 18 | + public static void main(String[] args) { | ||
| 19 | + System.out.println("当前时间为:"+new Date()); | ||
| 20 | + Calendar calendar = Calendar.getInstance(); | ||
| 21 | + calendar.add(Calendar.SECOND,5); | ||
| 22 | + Date runDate = calendar.getTime(); | ||
| 23 | + | ||
| 24 | + MyTask task = new MyTask(); | ||
| 25 | + Timer timer = new Timer(true);//守护线程 | ||
| 26 | + timer.schedule(task,runDate); | ||
| 27 | + } | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + /* | ||
| 31 | + 输出: | ||
| 32 | + 当前时间为:Fri Apr 15 22:12:28 CST 2016 | ||
| 33 | + */ | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,33 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Calendar; | ||
| 4 | + import java.util.Date; | ||
| 5 | + import java.util.Timer; | ||
| 6 | + | ||
| 7 | + /** | ||
| 8 | + * Created by Brian on 2016/4/15. | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * P244 | ||
| 13 | + * schedule(TimerTask task, Date time)测试,提前运行的效果 | ||
| 14 | + */ | ||
| 15 | + public class Run1_timer3 { | ||
| 16 | + public static void main(String[] args) { | ||
| 17 | + System.out.println("当前时间为:"+new Date()); | ||
| 18 | + Calendar calendar = Calendar.getInstance(); | ||
| 19 | + calendar.set(Calendar.SECOND,calendar.get(Calendar.SECOND)-10); | ||
| 20 | + Date runDate = calendar.getTime(); | ||
| 21 | + System.out.println("计划时间为:"+ runDate); | ||
| 22 | + MyTask task = new MyTask(); | ||
| 23 | + Timer timer = new Timer(); | ||
| 24 | + timer.schedule(task,runDate); | ||
| 25 | + } | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + /* | ||
| 29 | + 输出: | ||
| 30 | + 当前时间为:Fri Apr 15 22:15:40 CST 2016 | ||
| 31 | + 计划时间为:Fri Apr 15 22:15:30 CST 2016 | ||
| 32 | + 任务执行了,时间为:Fri Apr 15 22:15:40 CST 2016 | ||
| 33 | + */ | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,43 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Calendar; | ||
| 4 | + import java.util.Date; | ||
| 5 | + import java.util.Timer; | ||
| 6 | + | ||
| 7 | + /** | ||
| 8 | + * Created by Brian on 2016/4/15. | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * P245 | ||
| 13 | + * schedule(TimerTask task, Date time)测试,多个TimerTask任务及延时 | ||
| 14 | + */ | ||
| 15 | + public class Run1_timer4 { | ||
| 16 | + public static void main(String[] args) { | ||
| 17 | + System.out.println("当前时间为:"+new Date()); | ||
| 18 | + Calendar calendar = Calendar.getInstance(); | ||
| 19 | + calendar.add(Calendar.SECOND,5); | ||
| 20 | + Date runDate = calendar.getTime(); | ||
| 21 | + System.out.println("计划时间为:"+ runDate); | ||
| 22 | + | ||
| 23 | + Calendar calendar2 = Calendar.getInstance(); | ||
| 24 | + calendar.add(Calendar.SECOND,10); | ||
| 25 | + Date runDate2 = calendar2.getTime(); | ||
| 26 | + System.out.println("计划时间为:"+ runDate2); | ||
| 27 | + | ||
| 28 | + MyTask task1 = new MyTask(); | ||
| 29 | + MyTask task2 = new MyTask(); | ||
| 30 | + Timer timer = new Timer(); | ||
| 31 | + timer.schedule(task1,runDate); | ||
| 32 | + timer.schedule(task2,runDate); | ||
| 33 | + } | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + /* | ||
| 37 | + 输出: | ||
| 38 | + 当前时间为:Fri Apr 15 22:24:08 CST 2016 | ||
| 39 | + 计划时间为:Fri Apr 15 22:24:13 CST 2016 | ||
| 40 | + 计划时间为:Fri Apr 15 22:24:08 CST 2016 | ||
| 41 | + 任务执行了,时间为:Fri Apr 15 22:24:13 CST 2016 | ||
| 42 | + 任务执行了,时间为:Fri Apr 15 22:24:13 CST 2016 | ||
| 43 | + */ | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,45 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Calendar; | ||
| 4 | + import java.util.Date; | ||
| 5 | + import java.util.Timer; | ||
| 6 | + | ||
| 7 | + /** | ||
| 8 | + * Created by Brian on 2016/4/15. | ||
| 9 | + */ | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * P246 | ||
| 13 | + * schedule(TimerTask task, Date time)测试,多个TimerTask任务及延时 | ||
| 14 | + * 队列的方式,一个一个被顺序执行,前面一个耗时长则后面的任务被延后 | ||
| 15 | + */ | ||
| 16 | + public class Run1_timer5 { | ||
| 17 | + public static void main(String[] args) { | ||
| 18 | + System.out.println("当前时间为:"+new Date()); | ||
| 19 | + Calendar calendar = Calendar.getInstance(); | ||
| 20 | + Date runDate = calendar.getTime(); | ||
| 21 | + System.out.println("A计划时间为:"+ runDate); | ||
| 22 | + | ||
| 23 | + Calendar calendar2 = Calendar.getInstance(); | ||
| 24 | + calendar2.add(Calendar.SECOND,5); | ||
| 25 | + Date runDate2 = calendar2.getTime(); | ||
| 26 | + System.out.println("B计划时间为:"+ runDate2); | ||
| 27 | + | ||
| 28 | + TaskA task1 = new TaskA(); | ||
| 29 | + TaskB task2 = new TaskB(); | ||
| 30 | + Timer timer = new Timer(); | ||
| 31 | + timer.schedule(task1,runDate); | ||
| 32 | + timer.schedule(task2,runDate); | ||
| 33 | + } | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + /* | ||
| 37 | + 输出: | ||
| 38 | + 当前时间为:Fri Apr 15 22:39:30 CST 2016 | ||
| 39 | + A计划时间为:Fri Apr 15 22:39:30 CST 2016 | ||
| 40 | + B计划时间为:Fri Apr 15 22:39:35 CST 2016 | ||
| 41 | + A begin timer=Fri Apr 15 22:39:30 CST 2016 | ||
| 42 | + A end timer=Fri Apr 15 22:39:40 CST 2016 | ||
| 43 | + B begin timer=Fri Apr 15 22:39:40 CST 2016 | ||
| 44 | + B end timer=Fri Apr 15 22:39:40 CST 2016 | ||
| 45 | + */ | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,20 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Date; | ||
| 4 | + import java.util.TimerTask; | ||
| 5 | + | ||
| 6 | + /** | ||
| 7 | + * Created by Brian on 2016/4/15. | ||
| 8 | + */ | ||
| 9 | + public class TaskA extends TimerTask{ | ||
| 10 | + @Override | ||
| 11 | + public void run() { | ||
| 12 | + try { | ||
| 13 | + System.out.println("A begin timer="+new Date()); | ||
| 14 | + Thread.sleep(10000); | ||
| 15 | + System.out.println("A end timer="+new Date()); | ||
| 16 | + } catch (InterruptedException e) { | ||
| 17 | + e.printStackTrace(); | ||
| 18 | + } | ||
| 19 | + } | ||
| 20 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,15 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example1; | ||
| 2 | + | ||
| 3 | + import java.util.Date; | ||
| 4 | + import java.util.TimerTask; | ||
| 5 | + | ||
| 6 | + /** | ||
| 7 | + * Created by Brian on 2016/4/15. | ||
| 8 | + */ | ||
| 9 | + public class TaskB extends TimerTask{ | ||
| 10 | + @Override | ||
| 11 | + public void run() { | ||
| 12 | + System.out.println("B begin timer="+new Date()); | ||
| 13 | + System.out.println("B end timer="+new Date()); | ||
| 14 | + } | ||
| 15 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,14 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example2; | ||
| 2 | + | ||
| 3 | + import java.util.Date; | ||
| 4 | + import java.util.TimerTask; | ||
| 5 | + | ||
| 6 | + /** | ||
| 7 | + * Created by Brian on 2016/4/15. | ||
| 8 | + */ | ||
| 9 | + public class MyTask extends TimerTask{ | ||
| 10 | + @Override | ||
| 11 | + public void run() { | ||
| 12 | + System.out.println("任务执行了,时间为:"+new Date()); | ||
| 13 | + } | ||
| 14 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,41 @@ | |||
| 1 | + package com.brianway.learning.java.multithread.timer.example2; | ||
| 2 | + | ||
| 3 | + import com.brianway.learning.java.multithread.timer.example1.TaskA; | ||
| 4 | + import com.brianway.learning.java.multithread.timer.example1.TaskB; | ||
| 5 | + | ||
| 6 | + import java.util.Calendar; | ||
| 7 | + import java.util.Date; | ||
| 8 | + import java.util.Timer; | ||
| 9 | + | ||
| 10 | + /** | ||
| 11 | + * Created by Brian on 2016/4/15. | ||
| 12 | + */ | ||
| 13 | + | ||
| 14 | + /** | ||
| 15 | + * P247 | ||
| 16 | + * schedule(TimerTask task, long delay, long period) 测试,在未来执行的效果 | ||
| 17 | + */ | ||
| 18 | + public class Run2_period1 { | ||
| 19 | + public static void main(String[] args) { | ||
| 20 | + System.out.println("当前时间为:"+new Date()); | ||
| 21 | + Calendar calendar = Calendar.getInstance(); | ||
| 22 | + calendar.add(Calendar.SECOND,10); | ||
| 23 | + Date runDate = calendar.getTime(); | ||
| 24 | + System.out.println("计划时间为:"+ runDate); | ||
| 25 | + | ||
| 26 | + MyTask task = new MyTask(); | ||
| 27 | + Timer timer = new Timer(); | ||
| 28 | + timer.schedule(task,runDate,4000); | ||
| 29 | + } | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /* | ||
| 33 | + 输出: | ||
| 34 | + 当前时间为:Fri Apr 15 22:40:46 CST 2016 | ||
| 35 | + 计划时间为:Fri Apr 15 22:40:56 CST 2016 | ||
| 36 | + 任务执行了,时间为:Fri Apr 15 22:40:56 CST 2016 | ||
| 37 | + 任务执行了,时间为:Fri Apr 15 22:41:00 CST 2016 | ||
| 38 | + 任务执行了,时间为:Fri Apr 15 22:41:04 CST 2016 | ||
| 39 | + | ||
| 40 | + (一直执行,后面省略) | ||
| 41 | + */ | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments