一、进程
1、程序(任务)的执行过程(动态性)
2、持有资源(共享内容,共享文件)和线程。(载体) //资源——内存
二、线程
1、系统中最小的执行单元
2、同一进程中有多个线程
3、线程共享进程的资源
三、Thread常用方法
1、线程的创建
Thread()
Thread(String name)
Thread(Runnable target)
Thread(Runnable target , String name)
2、线程的方法
void start() //启动线程
static void sleep(long millis) //线程休眠
static void sleep(long millis , int nanos) //线程休眠
void join() //使其他线程等待当前线程终止
void join(long millis) //使其他线程等待当前线程终止
void join(long millis , int nanos) //使其他线程等待当前线程终止
static void yield() //当前运行线程释放处理器资源
3、获取线程引用:static Thread currentThread() //返回当前运行的线程引用
四、争用条件 Race condition
多线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted)
五、线程的交互:互斥与同步
互斥的实现:synchronized(intrinsic lock)
同步的实现:wait()/notify()/notifyAll()