我是靠谱客的博主 缥缈金针菇,最近开发中收集的这篇文章主要介绍【Java SE进阶】Day06 线程、同步,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、线程

1、多线程原理

  • 流程图

  • 内存图解说明

  • 创建线程的方式
    • 继承Thread类
    • 实现 Runnable接口

 2、继承Thead类 

 3、实现Runnable接口

  • 实现接口,重写run方法

 最终均需要通过Thread类实现多线程

3、Thread和Runnable的区别

  • 前者不是和资源共享,Runnable易于实现资源共享
  • 实现Runnable接口的优势
    • 适合多个线程共享统一资源
    • 避免单继承局限性
  • 每次运行启动两个线程:main和垃圾回收线程

4、匿名内部类方式创建

  • 匿名内部类实现 Runnable接口,并重写run方法

 接口实现赋值给接口(匿名内部类)

二、线程安全

1、概念:

  • 每次运行结果相同 

 

  •  多个线程同时执行写操作,就需要考虑线程同步,否则影响线程安全

2、线程同步

  • 解决多个线程访问同一资源的安全性问题,通过同步机制synchronized解决
  • 实现方式
    • 同步代码块:synchronized(lock)关键字
    • 同步方法:synchronized修饰的方法,被重写的run方法调用
    • Lock锁机制:更能体现面向对象
      • lock():同步加锁
      • unlock():释放同步锁

三、线程状态

1、概述

  • Thread.State的枚举中给出六种线程状态

 

最后

以上就是缥缈金针菇为你收集整理的【Java SE进阶】Day06 线程、同步的全部内容,希望文章能够帮你解决【Java SE进阶】Day06 线程、同步所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部