面试天坑_003_使用线程调用方法与直接调用方法完成某个任务的区别
1 /*
2 直接调用方法
3 */
4 package Process.Thread;
5
6 public class DirectUse_To_FinishTask {
7 public static void main(String[] args) {
8 new DirectUse_To_FinishTask().testMethod();
9 }
10
11 public void testMethod() {
12 DesignThread t = new DesignThread();
13 int num=1;
14 t.run();
15 while (true) {
16 System.out.println("测试方法..."+num);
17 try {
18 Thread.sleep(500);// 当前线程休眠0.5秒
19 } catch (InterruptedException e) {
20 e.printStackTrace();
21 }
22 if(num++==5){
23 break;
24 }
25 }
26 }
27
28 }
29
30 class DesignThread {
31 public void run() {
32 int num = 0;
33 while (true) {
34 System.out.println("自设线程..."+num);
35 try {
36 Thread.sleep(500);// 当前线程休眠0.5秒
37 } catch (InterruptedException e) {
38 e.printStackTrace();
39 }
40 if (num++ == 10) {
41 break;
42 }
43 }
44 }
45 }
输出结果为

1 /*
2 (二)使用线程
3 */
4 package Process.Thread;
5
6 public class ThreadUse_To_FinishTask {
7 public static void main(String[] args) {
8 new ThreadUse_To_FinishTask().testMethod();
9 }
10
11 public void testMethod() {
12 UseThread t = new UseThread();
13 int num = 1;
14 t.start();// 启动线程
15 while (true) {
16 System.out.println("testMethod线程启动..." + num);
17 try {
18 Thread.sleep(500);// 当前线程休眠0.5秒
19 } catch (InterruptedException e) {
20 e.printStackTrace();
21 }
22 if (num++ == 5) {
23 break;
24 }
25 }
26 }
27
28 }
29
30 class UseThread extends Thread {
31 public void run() {
32 int num = 0;
33 while (true) {
34 System.out.println("UseThread重写线程..." + num);
35 try {
36 Thread.sleep(500);// 当前线程休眠0.5秒
37 } catch (InterruptedException e) {
38 e.printStackTrace();
39 }
40 if (num++ == 10) {
41 break;
42 }
43 }
44 }
45 }
输出结果

posted on 2017-03-14 01:06 weizhang715 阅读(74) 评论(0) 收藏 举报
浙公网安备 33010602011771号