javaSE-回顾线程基本问题

回顾线程基本内容

程序: 静态代码 安装在硬盘上的

进程: 运行中的程序 是操作系统分配内存空间的单位

线程: 线程是进程中的一个最小执行单位, 是cpu调度单位 线程依赖于进程

创建线程

1.线程类 继承 Thread

  1. 类 实现 Runnable接口 重写 run( )

    创建Thread类的对象,为其分配任务

  2. 类 实现 Callable接口 重写 call( ) 有返回值 可以抛出异常

​ 创建Thread类的对象,为其分配任务

常用方法

run() calll() start()

设置名字

设置优先级

线程状态

start() 就绪状态

join() sleep() 阻塞状态

yield() 线程让步 运行状态 主动让出 —>就绪状态

多线程

程序中如果同时有多个任务执行,需要多线程

多线程可以提高程序运行效率

提高cpu利用率

不足:

对cpu 内存的要求增加了

多线程同时访问同一个共享资源

线程安全问题:

​ 多线程且多个线程访问同一个共享数据.

解决办法 排队+锁

Synchronized 关键字 修饰方法 修饰一个代码块

​ 是隐式锁 自动加锁 自动释放锁

ReentrantLock

只能对某段代码加锁 是显示锁 手动添加 手动释放

守护线程

死锁

线程通信

wait() notify()

sleep() 休眠指定的时间 时间到了后,会进入到就绪状态 不会释放锁

wait() 让线程等待 必须需要通过notify()唤醒 等待时会释放锁

生产者 消费者问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值