Java学习笔记1-多线程

1 、线程的创建

有两种方法,继承Thread类和实现Runnable或Callable接口

2、线程的操作

  • join线程:等待被join线程执行完毕
  • 后台线程:为其他的线程提供服务
  • 线程睡眠:进入阻塞状态
  • yield:让当前线程让步,让系统的线程调度器重新调度一下

3、线程池

  • ExecutorService
    对应的任务可以是实现Runnable接口或Callable接口。
  • CompletionService
    对应的任务可以是实现Runnable接口或Callable接口。与ExecutorService相比,可以分别获取线程的返回值
  • ForkJoinPool
    对应的任务是ForkJoinTask,分别有两个实现类,RecursiveTask和RecursiveAction。其中前者代表有返回值,后者代表无返回值

4、线程同步

线程同步解决多个线程同时执行,对同一资源的访问问题
- 同步监视器
Synchronized同步块
synchronized同步方法
- 同步锁
lock

5、线程通信

线程通信用于不同线程之间的调度
- 传统方法,使用Object的wait()、nofify()、nofityAll()
- 使用lock锁对应的Condition控制线程通信,对应方法有await()、nofity()、nofifyAll()
- 使用BlockingQueue阻塞队列控制线程通信,put(E e),take()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值