1.一个进程是一个独立的应用程序
2.独占内存空间
3.不是绝对意义的同时,而是cpu在进程间的来回切换
线程描述:
1.是进程内部独立运行的流程
2.线程是共享内存地址空间的
3.cpu在线程之间来回切换
实现线程的两种方式:
1.继承Thread类
2.实现Runnable接口
开启线程的方法:start()
线程状态:
1.新建状态(通过new的方式产生一个线程对象)
2.就绪状态(start启动,运行run方法)
3.运行状态(开启run方法)——中断状态——造成原因:
1.由于优先级的原因线程没有抢到cpu的执行属于中断状态
2.阻塞—由于等待一个I/o事件被阻塞
3.休眠(sleep方法)—调用Thread的sleep方法进行休眠
4.等待唤醒—调用object的wait(),notify()方法
5.挂起—调用yield方法
线程的优先级方法:setpriority()方法
线程的安全性问题:
1.当多个线程访问统一资源的时候,才会发生线程安全性问题
解决方法:加同步锁(synchronized)
死锁:
1.当两个或多个线程同时访问一对循环依赖的资源的时候,有可能会发生死锁现象
解决方法:(线程间的通讯 ) wait()和notfiy()方法
时间: 2024-10-07 06:47:35