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(); } }
时间: 2024-10-13 20:47:07