`程序:是一段静态的代码,它是应用软件执行的蓝本
进程:是程序的一次执行过程,是系统运行程序的基本单位
线程:是比进程更小的执行单位,相当于一个任务中的一条执行路径
进程和线程都是一个控制流程
进程是包含线程的
进程是在数据结构及其功能上进行的一系列操作
进程的特征进程可用于资源的独立单位
现在的cpu支持多线程
线程因为具有许多进程所具有的特征,因此被称为轻量级进程,线程不拥有系统资源,只拥有运行必须的一些数据结构
一个进程中可以包含一个或多个线程,一个线程就是程序内部的一条执行线索。程序启动运行时,就自动产生了一个线程,main方法用于这个线程
创建多线程的方法:继承Thread类,实现Runnable接口
Thread:Java的线程通过Thread类来控制,一个Thread类的对象代表一个线程,而且只能代表一个线程
每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作,方法run()称为线程体。使用start()方法,线程进入Runnable状态
在单线程中,main方法必须等到run方法返回才能继续执行
启动一个线程,不是调用run方法,而是调用Thread对象的start方法,start方法将产生一个新的线程
线程的生命周期:新建(new) 就绪(runnable) 运行(running)
阻塞(blocked) 死亡(dead)
方法:
wait():等待 notify():唤醒线程
interrupt():中断线程 yield():放弃执行线程
getPriority()::设置优先级 sleep():线程睡眠 jion():强制加入某线程
实例化泛型只需要给一对<>即可
如何使用泛型:
1.线程资源锁 线程安全
共同资源需要竞争操作,资源锁
synchronized:同步代码,方法
同步代码的语法:synchronized(参数){
}
同步方法的语法:public synchronized void 类名()
2.线程之间的通信
创建线程:Thread Runnable 重写run(); start(); stop();
线程同步:方法,代码块
线程协作:wait(); noity(); noityAll()
sleep()
IO
一文件读写操作
- java io :输入输出流:一组有序额,有起点,有终点,终点字节的集合;对数据的传输总称称为流,或是图像读取磁盘数据,网络数据,输入输出
2.缓冲区技术5
3.字节输入输出点 InputStream入 OutputStream出
字符2字节
二、文件自身
1.文件操作类 自身不去创建对象 FileInputStream
PiPedInputSteam 管道流
DutuInputStream 数据流