/*
如何在自定义的代码中,自定义一个线程呢?
通过对api的查找,java已经提供了对线程这类事物的描述,就Thread类。
创建线程的第一种方式,继承Thread类。
步骤
1,定义类继承Thread。
2,复写Thread类中的run方法。
3,调用线程的start方法,
该方法两个作用,启动线程,调用run方法。
发现运行结果每一次都不同
因为多个线程都获cpu的执行权,cpu执行到谁,谁就运行,
明确一点。在某一个时刻,只能有一个程序在运行(多核除外)
cpu在做着快速的切换,以达到看上去是同时运行的效果,
我们可以形象把多线程的运行行为认为是在互相抢夺cpu的执行权。
这就是多线程的一个特性,随机性,谁抢到谁执行,至于执行多长,cpu说的算
*/
//写一个继承Thread类的类
class Demo extends Thread {
//重写run方法
public void run() {
for(int i = 0; i < 60; i++) {
System.out.println("demo run" + i);
}
}
}
class ThreadDemo {
public static void main(String[] args) {
Demo d = new Demo();
d.start(); //调用start方法开启线程
for(int i = 0; i < 60; i++) {
System.out.println("ThreadDemo run" + i);
}
}
} |
|