写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z.

打印数字:

package com.sa.thread.练习.练习1; import javax.swing.plaf.synth.SynthViewportUI; /** * Created by 123 on 2018-07-26 */ public class PrintNum extends Thread{ public static boolean flag=true; private int start; private int end; private String threaName; public PrintNum() { }public PrintNum(int start, int end,String threaName) { this.start = start; this.end = end; this.threaName=threaName; }@Override publicvoid run() {for(int i=0; start<=end; i++){ m1(i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } }}publicsynchronized void m1(int i){ System.out.println("m1--NO------------------"+i+"次"); if(flag==true) { for (int j = 0; j < 2; j++) { System.out.println("开始打印数字:"+start); start++; } flag = false; } } }

【写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z.】打印字符:
package com.sa.thread.练习.练习1; import static com.sa.thread.练习.练习1.PrintNum.flag; /** * Created by 123 on 2018-07-26 */ public class PrintChar extends Thread{ private int start; private int end; private String threaName; public PrintChar(char start,char end) {}public PrintChar(int start, int end,String threaName) { this.start = start; this.end = end; this.threaName=threaName; }public static void main(String[] args) { char a='A'; System.out.println((char)(a+1)); }@Override publicvoid run() {for(int i=0; start<=end; i++){ m2(i); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } }}publicsynchronized void m2(int i){ System.out.println("m2--NO-----------------------------"+i+"次"); if(flag==false){ System.out.println("开始打印字母:"+(char)start); start=(char)(start+1); flag=true; } } }

测试:
package com.sa.thread.练习.练习1; /** * Created by 123 on 2018-07-26 */ public class test { public static void main(String[] args) { PrintNum printNum=new PrintNum(1,52,"打印数字线程"); PrintChar printChar=new PrintChar('A','Z',"打印字母线程"); printNum.start(); printChar.start(); } }

测试结果:
"C:\Program Files\Java\jdk1.8.0_131\bin\java" "-javaagent:E:\IDEA\IntelliJ IDEA 2017.2.2\lib\idea_rt.jar=52456:E:\IDEA\IntelliJ IDEA 2017.2.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar; C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar; E:\ideaPro2\Thread\out\production\Thread" com.sa.thread.练习.练习1.test m1--NO------------------0次 开始打印数字:1 开始打印数字:2 m2--NO-----------------------------0次 开始打印字母:A m2--NO-----------------------------1次 m1--NO------------------1次 开始打印数字:3 开始打印数字:4 m2--NO-----------------------------2次 开始打印字母:B m2--NO-----------------------------3次 m1--NO------------------2次 开始打印数字:5 开始打印数字:6 m2--NO-----------------------------4次 开始打印字母:C m2--NO-----------------------------5次 m1--NO------------------3次 开始打印数字:7 开始打印数字:8 m2--NO-----------------------------6次 开始打印字母:D m2--NO-----------------------------7次 m1--NO------------------4次 开始打印数字:9 开始打印数字:10 m2--NO-----------------------------8次 开始打印字母:E m2--NO-----------------------------9次 m1--NO------------------5次 开始打印数字:11 开始打印数字:12 m2--NO-----------------------------10次 开始打印字母:F m2--NO-----------------------------11次 m1--NO------------------6次 开始打印数字:13 开始打印数字:14 m2--NO-----------------------------12次 开始打印字母:G m2--NO-----------------------------13次 m1--NO------------------7次 开始打印数字:15 开始打印数字:16 m2--NO-----------------------------14次 开始打印字母:H m2--NO-----------------------------15次 m1--NO------------------8次 开始打印数字:17 开始打印数字:18 m2--NO-----------------------------16次 开始打印字母:I m2--NO-----------------------------17次 m1--NO------------------9次 开始打印数字:19 开始打印数字:20 m2--NO-----------------------------18次 开始打印字母:J m2--NO-----------------------------19次 m1--NO------------------10次 开始打印数字:21 开始打印数字:22 m2--NO-----------------------------20次 开始打印字母:K m2--NO-----------------------------21次 m1--NO------------------11次 开始打印数字:23 开始打印数字:24 m2--NO-----------------------------22次 开始打印字母:L m2--NO-----------------------------23次 m1--NO------------------12次 开始打印数字:25 开始打印数字:26 m2--NO-----------------------------24次 开始打印字母:M m2--NO-----------------------------25次 m1--NO------------------13次 开始打印数字:27 开始打印数字:28 m2--NO-----------------------------26次 开始打印字母:N m2--NO-----------------------------27次 m1--NO------------------14次 开始打印数字:29 开始打印数字:30 m2--NO-----------------------------28次 开始打印字母:O m2--NO-----------------------------29次 m1--NO------------------15次 开始打印数字:31 开始打印数字:32 m2--NO-----------------------------30次 开始打印字母:P m2--NO-----------------------------31次 m1--NO------------------16次 开始打印数字:33 开始打印数字:34 m2--NO-----------------------------32次 开始打印字母:Q m2--NO-----------------------------33次 m1--NO------------------17次 开始打印数字:35 开始打印数字:36 m2--NO-----------------------------34次 开始打印字母:R m2--NO-----------------------------35次 m1--NO------------------18次 开始打印数字:37 开始打印数字:38 m2--NO-----------------------------36次 开始打印字母:S m2--NO-----------------------------37次 m1--NO------------------19次 开始打印数字:39 开始打印数字:40 m2--NO-----------------------------38次 开始打印字母:T m2--NO-----------------------------39次 m1--NO------------------20次 开始打印数字:41 开始打印数字:42 m2--NO-----------------------------40次 开始打印字母:U m2--NO-----------------------------41次 m1--NO------------------21次 开始打印数字:43 开始打印数字:44 m2--NO-----------------------------42次 开始打印字母:V m2--NO-----------------------------43次 m1--NO------------------22次 开始打印数字:45 开始打印数字:46 m2--NO-----------------------------44次 开始打印字母:W m2--NO-----------------------------45次 m1--NO------------------23次 开始打印数字:47 开始打印数字:48 m2--NO-----------------------------46次 开始打印字母:X m2--NO-----------------------------47次 m1--NO------------------24次 开始打印数字:49 开始打印数字:50 m2--NO-----------------------------48次 开始打印字母:Y m2--NO-----------------------------49次 m1--NO------------------25次 开始打印数字:51 开始打印数字:52 m2--NO-----------------------------50次 开始打印字母:ZProcess finished with exit code 0


    推荐阅读