技术文章 > java >  java基础 > 正文

同步在java中的应用

小妮浅浅

我们在处理一个操作的时候,能对全局进行思考和资源的调配,但是计算机在处理任务时是一步步进行的,我们需要给它加上同步的思考,即调用时有所回应才进入下一步的操作中。下面我们就同步的概念、原理进一步的分析,然后使用synchronized关键字实现java中的同步操作。

1.概念

是一种典型的请求-响应模型,当请求调用一个函数或方法后,需等待其响应返回,然后执行后续代码。同步的最大特征便是「有序」,当各个过程都执行完毕,最后返回结果。

2.同步原理

当有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。

举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果呢?取钱不成功,账户余额是100。取钱成功了,账户余额是0,那到底是哪个呢?很难说清楚。因此多线程同步就是要解决这个问题。

3.实例

synchronized关键字

使用synchronized关键字我们可以实现同步代码块

synchronized(同步监视器){
//需要进行同步的代码块
 
}

以上就是在java中同步的应用,在学习的时候注意区分和异步的区别,在合适的使用场景下,选择合适的方法。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 java压缩流的压缩与解压
 Stream函数在java中的使用
 java中Stream创建的方法
 java Stream结合函数方法
 Stream在java里的终止
 java字符串的格式化输出
 java异步的使用
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息

小妮浅浅

认证0级讲师

最近文章
java编译命令是什么522
java的jdk是什么411
java Wrapper类的使用812
推荐视频
视频教程分类