多线程:
- 程序:是一个静态的代码,应用软件执行的蓝本
- 进程:是程序的一次执行过程,是系统运行程序的基本单位
- 线程是比进程更小的执行单位,相当于一个任务中的一条执行路径
- 进程和线程都是一个控制流程,一个进程通常对应一个程序,一个程序可以由多个不同的线程构成
- 一个进程可以拥有多个线程,一个线程必须有一个父进程,不允许直接在程序中调用线程的run()方法;
- 程序:利用编程语言开发的一个工具软件,静态的,在没有启动运行之间只是磁盘中的一个普通文件
- 进程:程序启动后就变成了进程,动态
- 线程:进程包含线程
- 进程:在数据结构及其功能上
进程是可用于资源的独立单位
同时又是一个可独立调度和分派的基本单位 - 线程因为具有许多进程所具有的特征,因此称为轻量级进程
- 线程是进程中的实体,一个进程可以拥有多个线组,一个线程必须有一个父进程,一个线程就是程序内部的一个执行线索
- 多线程:qq聊天 访问网页
- Main 方法是一个单线程、
- 创建多线程方式的两个方法:thread runnable
- Java的线程通过thread类来控制,一个thread类的对象代表着一个线程,而且只能代表一个线程。
- 不要直接在程序中调用线run()方法,调用start()方法,并不一定马上会执行这个线程,他只是runnable而不是running,是准备
- 使用start()方法,线程进入runnable(可运行状态)状态,他将向线程调度器注册,可运叫就绪
- 五种状态:创建(new)分配内存空间和初始化成员变量
- 就绪(runnable) 运行(running) 阻塞(blocked) 死亡(dead)
- 要将一段代码在新的线程上运行,应该继承thread或实现runnable接口,而需要执行的代码的代码写在Run方法里,启用一个线程,不是调用run方法。
- 实际工作中,几乎所有的多线程应用都用实现running方法方式