Java多线程基础 之基本概念(一)

1.线程和进程的区别

   进程——资源分配的最小单位

   线程——程序执行的最小单位

2.多线程实现的四种方式

  2.1继承Thread类创建线程

  2.2实现Runnable接口创建线程

  2.3实现Callable接口,通过FutureTask包来创建线程

  2.4通过线程池创建线程

注:使用ExecutorService、Callable、Future实现有返回结果的线程

3.多线程常用的方法

    sleep() :调用该方法,让当前的的线程暂停一段时间,让低优先级的线程得到执行的机会,也可以让同优先级、  高优先级的线程有执行的机会

    join() : 等待一个线程执行完后后,再执行下一个线程

    yield() :同sleep()一样,但不能设置暂停时间

   wait() 、notify() 、notifyAll():

   这三个 方法用于协调多个线程对共享数据的存取,所以必须在synchronized语句块内使用。synchronized关键字用于保护共享数据,阻止其他线 程对共享数据的存取。

4.多线程信息共享

synchronized:互斥锁,

 volatile关键字:禁止重排序、内存可见性

5.多线程工具类 BlockingQueue

6.Atomic类

7.门闩、Lock

 

 

   

   

   

   

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值