1.什么是线程
程序、进程、线程,程序就是静止的代码,进程就是运行起来的程序,每个进程都会占用CPU资源,而线程是基于进程的,是进程中的再分类,也就是说一个进程中有好多线程,这些线程共用一个资源,搞这么多线程目的是提高程序运行效率同时占用资源少,进程就如同一个大马路,而现在呢,我们把这条大马路划分为很多车道,这样一条大马路上就有好几条路线走了,那么这每一条车道路线就是线程
2.Java创建线程两种主要方式
1) 继承Thread,重写run方法,创建子类对象,子类对象.start
2) 通过静态代理的方式,1.创建真实角色重写run,创建代理角色,代理角色.start
3.代码示例
rab、dog是通过继承Thread,重写run方法,创建子类对象,子类对象.start,cat是通过静态代理的方式,1.创建真实角色重写run,创建代理角色,代理角色.start
Class1:兔子、狗、猫
package My_Thread;
public class rabit extends Thread{
@Override
public void run() {
System.out.println("小兔兔");
System.out.println("小兔兔2");
System.out.println("小兔兔3");
}
}
class dog extends Thread{
@Override
public void run() {
System.out.println("小狗狗");
System.out.println("小狗狗3");
System.out.println("小狗狗4");
System.out.println("小狗狗2324");
}
}
//真实角色
class Cat implements Runnable{
@Override
public void run() {
System.out.println("小猫咪");
System.out.println("小猫咪3");
System.out.println("小猫咪4");
}
}
Class2:调用创建启动线程
package My_Thread;
/**
* 创建线程两种主要方式
* 以下rab、dog是通过继承Thread,重写run方法,创建子类对象,子类对象.start
* cat是通过静态代理的方式,1.创建真实角色重写run,创建代理角色,代理角色。start
*
* @author My_2
*
*/
public class test {
public static void main(String[] args) {
//继承Thread,重写run方法方法
rabit rab=new rabit();
dog dog=new dog();
rab.start();
dog.start();
//静态代理的方式
Cat cat=new Cat();
Thread cat21=new Thread(cat);
cat21.start();
for(int i=0;i<=10;i++){
System.out.println(i);
}
}
}