1, 通过两个线程分别实现输出,一个线程输出大写 A-Z,另一个线程输出小写a-z,且交互输出(不能同步)
/**
* @Description:TODO
* @project:project
* @class:Thread1.java
* @author:
* @time:2015-7-8 下午02:44:43
*/
package thread;
/**
*
* @author:
*/
public class Thread1 {
/**
* 通过两个线程分别实现输出,一个线程输出大写 A-Z,
* 另一个线程输出小写a-z,且交互输出(不能同步)
*/
public static void main(String[] args) {
Data data = new Data();
Majuscule m = new Majuscule(data);
Lowercase l = new Lowercase(data);
m.start();
l.start();
}
}
//创建对象的具体方法,这些东西应该在线程的run方法中,因为太长,所有独立成方法
class Data{
//打印大写字母
public void Majuscule(){
for(char i='A'; i<='Z';i++){
try {
Thread.sleep(2);
System.out.print(i+" ");
} catch (Exception e) {
e.printStackTrace();
}
}
}
//打印小写字母
public void Lowercase(){
for(char i='a';i<='z';i++){
try {
Thread.sleep(2);
System.out.print(i+" ");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
//打印大写字母的线程
class Majuscule extends Thread{
private Data data;
/**
* @Description:TODO
* @param data
* @author:
* @time:2015-7-8 下午02:58:45
*/
public Majuscule(Data data) {
super();
this.data = data;
}
public void run(){
data.Majuscule();
}
}
//打印小写字母的线程
class Lowercase extends Thread{
private Data data;