全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

同步在java中的应用、java异步的使用

发布时间:2022-08-10 14:24:42
发布人:syq

  本教程操作环境:windows7系统、java10版,DELL G3电脑。

同步在java中的应用

  同步在java中的应用

  1.概念

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

3.1

  2.同步原理

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

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

  3.实例

  synchronized关键字

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

3.2

  java异步的使用

  1.概念

  异步编程是只发送了调用的指令,调用者无需等待被调用的方法执行完毕,而是继续执行下面的流程。在一个多处理器或多核的环境中,异步调用是真正的并行执行。

6

 

  2.应用场景

  (1)充分利用计算机CPU资源,不让主程序阻塞在某个长时间运行的任务上,从而优化主程序的执行时间;

  (2)异步编程 + NIO。NIO 技术本身现在已经很成熟了,异步编程技术将 NIO 落地到系统,尤其是业务快速迭代的前台、中台系统中。

  3.实例

  可以创建一个新线程来异步执行任何操作。随着Java 8 中lambda表达式的发布,它变得更干净,更易读。

  创建一个新的线程来计算和打印数字的阶乘:

4.2

  以上就是在java中关于同步、异步的使用,在多个程序需要运行处理的时候,就可以选择异步的方法去处理,对应的同步也会为大家带来一些讲解,可以关注和留意。更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

相关文章

开源软件治理到底有什么痛点?

开源软件治理到底有什么痛点?

2023-10-14
Go为什么不支持三元运算符?

Go为什么不支持三元运算符?

2023-10-14
为什么数据库使用SQL语言?

为什么数据库使用SQL语言?

2023-10-14
为什么计算机用补码存储数据?

为什么计算机用补码存储数据?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取