一、什么是线程
线程,又称轻量级进程。
程序中的一个顺序控制流程,同时也是cpu的基本调度单位。
进程由多个线程组成,彼此间完成完成不同的工作,交替执行,称为多线程。
例如:迅雷是一个进程,当中的多个下载任务即是多个线程
二、线程和进程的区别
进程是操作系统资源分配的基本单位,线程是cpu的基本调度单位。
一个程序运行后至少有一个进程。
一个进程可以包含多个线程,但是至少需要一个线程
进程间不能共享数据段地址,但同进程的线程之间可以
三、线程的组成及特点
任何一个线程都具有基本的组成部分:
1.cpu时间片:操作系统会为每个线程分配执行时间。
2.运行数据:
堆空间:存储线程需要使用的对象,多个线程可以共享堆中的对象
栈空间:存储线程需使用的局部编码,每个线程都拥有独立的栈
3.线程的逻辑代码
线程的特点:
1.线程抢占式执行:效率高;可以防止单一线程长时间独占cpu
2.在单核cpu中,宏观上同时执行,微观上顺序执行
四、创建线程的方式
1、继承Thread类 重写run()方法
获取线程名称:第一种方法:用this.getid() 和 this.getName() 获取线程的ID和名称
第二种方法:用this.currentThread() 获取当前线程
线程.setName();给线程名称赋值
注意:线程的启动 用 start() 方法
线程的名称可以修改 线程的ID不可修改
packagecom.monv.Thread;/*** 创建线程类 继承 Thread
*@authorAdministrator
**/
public class MyThread extendsThread{publicMyThread() {//TODO Auto-generated constructor stub
}publicMyThread(String name){super(name);
}
@Overridepublic voidrun() {for(int i = 0;i<100;i++){//1.第一种方法 用this.getid() 和 this.getName() 获取线程的ID和名称//System.out.println("线程ID:"+this.getId()+"线程名称:"+