1. 进程:正在执行的程序,内存中开辟的一块空间,进程的执行实际是线程的执行。
2. 线程:负责程序执行的一条执行路径,即一个执行单元,一个进程至少包括一个线程。
3. 多线程:实现多个功能同时执行,实现原理实际是多个线程的交替执行,即多个线程抢夺CPU资源,谁抢到则执行谁,直至程序结束。 优缺点:多线程不一定能提高效率,但可以合理使用CPU资源 一个程序至少含有一个线程,即主线程,主线程负责执行main代码块 垃圾回收线程执行垃圾回收的代码,任何一个对象都能被回收,所以回收功能定义在 Object(最大父类) 中 方法名:void finalize()
Java程序是多线程的:主线程------->负责执行main代码块 垃圾回收线程-------> 执行finalize代码块
4. 任务:程序需执行的代码,任务不同其存放位置不同,线程随着任务的存在而存在,随着任务的结束而结束
Java中创建线程的方法:1) 创建一个Thread的子类; 2) 该子类重写 run() 方法; 3) 创建子类对象 4) 线程启动 start() 方法
package 多线程;
public class XianC{
public static void main(String[] args){ //主线程
Test t1=new Test("娜娜"); //创建了一个线程 子线程
Test t2=new Test("朋朋");
t1.start(); //线程启动 执行run代码
t2.start();
/*
t1.run() 只是普通的函数调用,不具备线程调用
*/
}
}
/*
娜娜和朋朋同时show: 分别给娜娜与朋朋创建一个线程
*/
class Test extends Thread{
private String name;
Test(){}
Test(String name){
this.name=name;
}
public void run(){ //子线程的任务代码
for(int i=1;i<=10;i++){
System.out.println(name+"..show"+i); System.out.println(Thread.currentThread().getName()+":"+name+"..show"+i);
}
}
}