package com.heima.IO;
import java.util.Enumeration;
import java.util.Vector;
/*写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。
需求如下:
① 利用线程类的构造函数输出:"创建线程4"。
(备注:当创建一个线程的时候,标记为1,再次创建一个线程的时候,标记为2,
所以输出的"创建线程4"就是创建的第四个线程)
② 在run方法中输出:“线程X :计数Y”,当执行次数达到6次的时候,退出。
(备注:其中“线程X”为第X个线程,“计数Y”为该线程的run方法执行了多少次) */
public class Day1_ClassTest2 {
public static void main(String[] args) {
MyThread mt = new MyThread();
MyThread mt1 = new MyThread();
MyThread mt2 = new MyThread();
MyThread mt3 = new MyThread();
MyThread mt4 = new MyThread();
new Thread(mt, mt.name).start();
new Thread(mt1, mt1.name).start();
new Thread(mt2, mt2.name).start();
new Thread(mt3, mt3.name).start();
new Thread(mt4, mt4.name).start();
}
}
class MyThread implements Runnable{
String name;
static int i = 1;
static int y=1;
static Object o = new Object();
public MyThread(){
name = "线程"+i;
System.out.println("创建线程"+i);
i++;
}
public void run(){
while(y<7){
synchronized(o){
if(y>=7){
return;
}
System.out.println(Thread.currentThread().getName()+":计数"+y++);
}
}
}
}
|