0
点赞
收藏
分享

微信扫一扫

初识并发编程

书写经典 2022-02-27 阅读 123

并发编程

一、概述

1.进程和线程的概念

2.生命周期

3.创建线程的方法

4.为什么要考虑线程安全问题

(1)、上下文切换:每个线程的时间片到了后,进行进程的切换(java中的每条语句都会有多条字节码语句体现,所以可能执行到某一条时就换线程了)

(2)、临界资源:一段代码块中对共享资源多线程读写操作

(3)、竞态条件:多线程在临界区内执行,导致执行结果难以预测

5.线程安全分析(通过分析jvm中栈和堆之间的关系

(1)、静态常量(在日常项目中就数等同据库中的值了):是否符合临界资源(是否为共享资源、是否存在多线程对其进行读写操作)

(2)、局部变量:线程安全(原因:每一个线程都有一个独立的栈,对局部变量进行操作,不存在共享变量这个添加)【不安全情况:将局部变量暴露在外部=》子类覆盖,重写改方法=》解决:通过访问修饰符(public,private,protect,final)控制不向外暴露】

6.线程安全类

(1)、JUC包下的类,String,Integer,StringBuffer,Vector,HashTable

注:当线程安全的类组合使用时可能存在线程安全问题,例:HashTable中的set和get一起使用时会存在线程安全问题

(2)、不可变类的线程安全:String,Integer…

举报

相关推荐

0 条评论