1 利用Thread和Runnable创建线程
【实验目的】
(1)理解用实现Runnable接口的方法实现多线程。
(2)掌握线程优先级的设置。
(3)加深对线程状态转换的理解。
【实验要求】
要求一:利用多线程实现旋转的行星
要求二:写一个线程SyncDemo。 给其设计一个方法public class getNumber() 从1開始计数到20停止。
当中,设计两个同步线程AThread和BThread,均用getNumber()争抢这20个数。 注意线程AThread和BThread的同步控制,保证计数到20即停止。
class SyncDemo implements Runnable {
static int num = 1;
public synchronized Boolean getNumber() throws Exception {
Thread.sleep(100);
if(num <= 20) {
System.out.println(Thread.currentThread().getName()+" "+num++);
return true;
}
return false;
}
public void run() {
try {
while(getNumber());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class Fd {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SyncDemo demo = new SyncDemo();
Thread AThread = new Thread(demo, "A");
Thread BThread = new Thread(demo, "B");
AThread.start();
BThread.start();
}
}