线程同步处理|学习笔记

简介: 快速学习 线程同步处理

开发者学堂课程【Java 高级编程线程同步处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/291


线程同步处理


线程同步:

经过分析之后已经可以确认同步问题所产生的主要原因了,那么,下面就需要进行同步问题的解决,但是解决同步问题的关键是锁,指的是当某一个线程执行操作的时候,其它线程外面等待。

 

问题的解决:

如果想解决这样的问题,就必须使用同步,所谓的同步就是指多个操作在同一个时间段内只能有一个线程进行,其他线程要等待此线程完成之后才可以继续执行。

图片66.png

如果要想在程序之中实现这把锁的功能,就可以使用synchronized关键字来实现,利用此关键字可以定义同步方法或同步代码块,在同步代码块的操作里面的代码只允许一个线程执行。

1、利用同步代码块进行处理:

synchronized(同步对象){

同步代码操作 ;

}

一般要进行同步对象处理的时候可以采用当前对象 this 进行同步。

范例:利用同步代码块解决数据同步访问问题

图片67.png

加入同步处理之后,程序的整体的性能下降了。同步实际上会造成性能的降低。


2、利用同步方法解决:

只需要在方法定义上使用 svnchronized 关键字即可。

图片68.png

在日后学习 Java 类库的时候会发现,系统中许多的类上使用的同步处理采用的都是同步方法。

相关文章
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
358 0
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
856 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
多线程学习笔记
这篇文章是多线程学习笔记,涵盖了线程与进程的概念、多线程实现方式、线程状态、线程同步与不安全示例、死锁问题以及生产者与消费者问题等多线程编程的关键知识点。
多线程学习笔记
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
223 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
FFmpeg学习笔记(二):多线程rtsp推流和ffplay拉流操作,并储存为多路avi格式的视频
这篇博客主要介绍了如何使用FFmpeg进行多线程RTSP推流和ffplay拉流操作,以及如何将视频流保存为多路AVI格式的视频文件。
1393 0
|
Java
java202303java学习笔记第三十九天自定义线程池详解1
java202303java学习笔记第三十九天自定义线程池详解1
101 0
|
NoSQL 网络协议 关系型数据库
redis-学习笔记(redis 单线程模型)
redis-学习笔记(redis 单线程模型)
134 3
|
安全 Java 编译器
多线程 (下) - 学习笔记2
多线程 (下) - 学习笔记
146 1
|
存储 算法 Java
多线程 (下) - 学习笔记1
多线程 (下) - 学习笔记
125 1
|
设计模式 安全 NoSQL
多线程 (上) - 学习笔记2
多线程 (上) - 学习笔记
136 1

热门文章

最新文章