/*1 利用线程类的构造函数输出"创建线程4"。 备注当创建一个线程的时候标记为1再次创建一个线程的时候
* 标记为2所以输
* 出的"创建线程4"就是创建的第四个线程 2 在run方法中输出“线程X 计数Y”当执行次数达到6次的时候退出。
* 备注其中“线程X”为第X个线程“计数Y”为该线程的run方法执行了多少次
* 思路分析:
* 这个K必须是这几个线程共享的
* */
public class 线程题_创建线程 {
static int num = 6;
static int k = 1;
@SuppressWarnings("static-access")
public static void main(String[] args) {
for (int i = 1; i <= num; i++) {
try {
Thread.currentThread().sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
Thread t = new Thread("创建线程" + i) {
public void run() {
System.out.println(Thread.currentThread().getName());
System.out.println("线程"+k
+ " 计数" + k);
k++;
}
};
t.start();
}
}
public static void demo01() {
for (int i = 1; i <= num; i++) {
try {
Thread.currentThread().sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
final Thread t = new Thread("创建线程" + i) {
public void run() {
System.out.println(Thread.currentThread().getName()
+ " 计数" + k);
k++;
}
};
t.start();
}
}
}
class MyThread02 extends Thread {
static int num = 6;
static int k = 1;
private String name;
public MyThread02(String name) {
super();
this.name = name;
}
public void run() {
while (true) {
synchronized (MyThread02.class) {
if (num <= 0) {
break;
}
System.out.println(Thread.currentThread().getName() + " 计数"
+ k++);
}
}
}
} |