进程与线程
1.进程:指系统中能独立执行的程序称之为进程。是操作系统资源分配的基本单位。双cpu才能实现多进程,每个cpu执行一个进程。单cpu只是不断的切换执行程序,所以看起来像是同时执行多个进程,当实际上切换中有较大开销。
2.线程:线程可以看做是轻量级的进程,是任务调度和执行的基本单位。一个进程中至少包括一个线程或者多个线程。一个线程就是一个程序中的一条执行线索,如果要一进程中实现多段代码同时交替运行,就需要产生多个线程,并指定每个线程上面需要运行的代码段,这就是多线程。**
创建一个多线性
//多线程
//创建线程方法一,继续Thread类,重写run(),调用start()函数
//注意线程启动不一定立刻执行,有cpu调度
public class TextThread extends Thread {
//重写run()方法线程体
@Override
public void run() {
for (int i=0;i<100;i++){
System.out.println("多线程"+i);
}
}
//主进程 main函数
public static void main(String[] args) {
//创建一个线程对象
TextThread textThread = new TextThread();
//调用start()函数启动线程
textThread.start();
for (int i = 0; i < 1000; i++) {
System.out.println("我在学习多线程"+i);
}
}
}
运行结果
从运行结果可以看出多线程的结果,在main函数没有执行结束的时候,run函数也在同时进行,实质两个进程同时进行,时间有cpu调度。
用Thread创建线程
1.一段代码要在一个新的线程上运行,该代码应写入Thread的子类的run()中。
2.启动一个线程不是直接调用Thread子类的run(),而是调用Thread子类对象的start().
3.线程的代码段在run()中,该方法执行完成之后,线程也相应的结束了。