【线程】:
应用程序(Application):
为了完成特定的任务,用某一种语言编写的一组指令集合(一组静态代码)。
进程(Process):【主进程】
运行中的程序,系统调度与资源分配的一个独立单位。
操作系统会为每一个进程分配一段内存空间。
一个进程可以包含一个或多个线程。
线程(Thread):【子线程】
程序执行的最小单位,每一个进程可能有多条子线程。
线程需要放在一个进程中才能执行。
线程是由程序负责管理的。 ---- 写代码控制
而进程则是由系统进行调度的。 ---- 系统自己控制的(关于cpu)
当一个程序运行,只会有一个主进程,它有系统自动调用。
默认,只有一个线程,去执行代码操作。
程序是从上往下,依次执行。
单线程实例:
1 package com.xzm.线程; 2 3 //应用程序的一组命令单元 4 public class _01_Thread单线程 { 5 6 //主函数: 7 // 程序运行会得到一个进程,主函数就是系统默认的那个主线程 8 public static void main(String[] args) { 9 10 //第一步:实例化得到多个独立的线程对象 11 // 利用多态实现,也可以独立创建类对象 12 Thread t1 = new Thread01(); 13 Thread t2 = new Thread02(); 14 Thread t3 = new Thread03(); 15 16 //第二步:调度运行 17 //这里如果直接调用run方法: 18 // 线程在当前主进程中,依次执行。 19 t1.run(); 20 t2.run(); 21 t3.run(); 22 } 23 24 } 25 26 //======================================= 27 //Thread单线程实现: 28 //1、定义线程类,继承 Thread父类 29 //2、重写 void run() 方法 30 //3、主线程创建子线程对象 31 //4、主线程开启子线程 调用run()方法 32 33 //线程一 34 class Thread01 extends Thread{ 35 @Override 36 public void run() { 37 for(int i=1; i<=10; i++) { 38 System.out.println("t1--->"+i); 39 } 40 } 41 } 42 43 //线程二 44 class Thread02 extends Thread{ 45 @Override 46 public void run() { 47 for(int i=1; i<=10; i++) { 48 System.out.println("t2--->"+i); 49 } 50 } 51 } 52 53 //线程三 54 class Thread03 extends Thread{ 55 @Override 56 public void run() { 57 for(int i=1; i<=10; i++) { 58 System.out.println("t3--->"+i); 59 } 60 } 61 }