* 使用Java语言如何实现多线程环境?
* 实现多线程环境:
* 创建系统资源(产生进程)--->Java语言不能创建系统资源-->Jdk提供了一个类:
* Thread类:是封装的线程类(里面一些功能的底层实现(C/C++)系统创建资源)
* Java 虚拟机允许应用程序并发地运行多个执行线程。
*开启子线程
*
*实现方式1:
*1)自定义类 继承自Thread类(线程类)
*2)在当前自定义的类中:重写run方法(执行耗时的操作)(jvm会自动让子线程执行run方法)
*3)在“用户线程”main,创建该类对象
*4)启动线程(执行子线程)
* run()还是star()?
public class ThreadDemo {
public static void main(String[] args) {
//创建线程类对象
MyThread my=new MyThread();
//使用线程类对象调用run(),相当于普通的方法,run()不是启动线程的方法
//start():通知jvm,告诉每一个子线程去执行对应的线程run方法:结果两个线程在并发的执行!
//启动线程
// my.run();
// my.run();
//一个线程只能启动一次
// my.start();
// my.start();IllegalThreadStateException:非法线程状态异常
//解决:创建另一个线程对象
MyThread my2=new MyThread();
//启动线程
//线程的执行具有随机性(my线程和my2线程都去执行MyThread类中run方法)
my.start();
my2.start();
}
}
//线程类
public class MyThread extends Thread {
//重写run
//my,my2在互相抢占CPU的执行权(随机的)
@Override
public void run() {
//耗时的操作
for(int i=0;i<300;i++) {
System.out.print(i+" ");
}
}
}



