- 原子性是指一个或者多个操作在CPU中执行的过程不被中断的特性。原子性操作一旦开始运行,就会一直到运行结束为止,中间不会有中断的情况发生。 原子性是指一个或者多个操作在CPU中执行的过程不被中断的特性。原子性操作一旦开始运行,就会一直到运行结束为止,中间不会有中断的情况发生。
- 工作了3年的小菜同学,平时在公司只是做些CRUD的常规工作,这次,出去面试被面试官一顿虐啊!尤其是并发编程的知识简直就是被吊打啊。小菜心有不甘,回来找自己工作经验非常丰富的朋友大冰来帮助自己提升并发编程的知识,于是便有了接下来的一系列小菜学并发的文章。 工作了3年的小菜同学,平时在公司只是做些CRUD的常规工作,这次,出去面试被面试官一顿虐啊!尤其是并发编程的知识简直就是被吊打啊。小菜心有不甘,回来找自己工作经验非常丰富的朋友大冰来帮助自己提升并发编程的知识,于是便有了接下来的一系列小菜学并发的文章。
- 最近和一个朋友聊天,他跟我说起了他去XXX公司面试的情况,面试官的一个问题把他打懵了!竟然问他:你经常使用Thread创建线程,那你看过Thread类的源码吗?我这个朋友自然是没看过Thread类的源码,然后,就没有然后了!!!所以,我们学习技术不仅需要知其然,更需要知其所以然,今天,我们就一起来简单看看Thread类的源码。 最近和一个朋友聊天,他跟我说起了他去XXX公司面试的情况,面试官的一个问题把他打懵了!竟然问他:你经常使用Thread创建线程,那你看过Thread类的源码吗?我这个朋友自然是没看过Thread类的源码,然后,就没有然后了!!!所以,我们学习技术不仅需要知其然,更需要知其所以然,今天,我们就一起来简单看看Thread类的源码。
- 今天,我们来一起聊聊浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier这几个重要的类,好啦,不多说啦,咱们直接进入主题吧。 今天,我们来一起聊聊浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier这几个重要的类,好啦,不多说啦,咱们直接进入主题吧。
- Dart是一种基于对象的编程语言,其线程底层原理主要涉及两个方面:内存管理和并发执行。在内存管理方面,Dart使用自动内存管理机制,即垃圾回收。Dart的垃圾回收算法主要有标记清除、标记整理和分代收集三种方式。其中,标记清除算法通过遍历对象图形来标记不再使用的对象,并将它们从内存中释放;标记整理算法则是先标记出所有活着的对象,然后将它们向一端移动以便于空闲内存与活跃内存的划分;而分代收集算法... Dart是一种基于对象的编程语言,其线程底层原理主要涉及两个方面:内存管理和并发执行。在内存管理方面,Dart使用自动内存管理机制,即垃圾回收。Dart的垃圾回收算法主要有标记清除、标记整理和分代收集三种方式。其中,标记清除算法通过遍历对象图形来标记不再使用的对象,并将它们从内存中释放;标记整理算法则是先标记出所有活着的对象,然后将它们向一端移动以便于空闲内存与活跃内存的划分;而分代收集算法...
- 对于什么是可见性,比较官方的解释就是:一个线程对共享变量的修改,另一个线程能够立刻看到。说的直白些,就是两个线程共享一个变量,无论哪一个线程修改了这个变量,则另外的一个线程都能够看到上一个线程对这个变量的修改。这里的共享变量,指的是多个线程都能够访问和修改这个变量的值,那么,这个变量就是共享变量。 对于什么是可见性,比较官方的解释就是:一个线程对共享变量的修改,另一个线程能够立刻看到。说的直白些,就是两个线程共享一个变量,无论哪一个线程修改了这个变量,则另外的一个线程都能够看到上一个线程对这个变量的修改。这里的共享变量,指的是多个线程都能够访问和修改这个变量的值,那么,这个变量就是共享变量。
- 写【高并发专题】有一段时间了,一些读者朋友留言说,并发编程很难,学习了很多的知识,但是在实际工作中却无从下手。对于一个线上产生的并发问题,又不知产生这个问题的原因究竟是什么。对于并发编程,感觉上似乎是掌握了,但是真正用起来却不是那么回事!其实,造成这种现象的本质原因就是没有透彻的理解并发编程的精髓,而学好并发编程的关键是需要弄懂三个核心问题:分工、同步、互斥。 写【高并发专题】有一段时间了,一些读者朋友留言说,并发编程很难,学习了很多的知识,但是在实际工作中却无从下手。对于一个线上产生的并发问题,又不知产生这个问题的原因究竟是什么。对于并发编程,感觉上似乎是掌握了,但是真正用起来却不是那么回事!其实,造成这种现象的本质原因就是没有透彻的理解并发编程的精髓,而学好并发编程的关键是需要弄懂三个核心问题:分工、同步、互斥。
- 今天跟大家聊聊如何使用Java7提供的Fork/Join框架实现高并发程序。好了,开始今天的主题吧! 今天跟大家聊聊如何使用Java7提供的Fork/Join框架实现高并发程序。好了,开始今天的主题吧!
- 今天,我们一起来学习下Java并发编程中的AQS中的ReentrantLock、ReentrantReadWriteLock、StampedLock与Condition。好啦,开始进入今天的主题。 今天,我们一起来学习下Java并发编程中的AQS中的ReentrantLock、ReentrantReadWriteLock、StampedLock与Condition。好啦,开始进入今天的主题。
- Promise 是一个 ECMAScript 6 提供的类,Async/await 是 ECMAScript 7 新增的内容,两者目的都是为了更加优雅地书写复杂的异步任务。此处介绍她们关于后面小程序开发所需要主要内容,更为详细内容请参考手册、文档。我们都知道JS是一个单线程的语言,一次只能执行一个任务,如果碰到时间较长任务,会被拖到任务队列等待其他任务完成后再执行。但是类似于向后台请求数据操... Promise 是一个 ECMAScript 6 提供的类,Async/await 是 ECMAScript 7 新增的内容,两者目的都是为了更加优雅地书写复杂的异步任务。此处介绍她们关于后面小程序开发所需要主要内容,更为详细内容请参考手册、文档。我们都知道JS是一个单线程的语言,一次只能执行一个任务,如果碰到时间较长任务,会被拖到任务队列等待其他任务完成后再执行。但是类似于向后台请求数据操...
- CountDownLatch 是多线程控制的一种工具,它被称为 门阀、 计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。下面我们就来一起认识一下 CountDownLatch 我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan... CountDownLatch 是多线程控制的一种工具,它被称为 门阀、 计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。下面我们就来一起认识一下 CountDownLatch 我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan...
- 一、前言在前期博文中,针对异步编程,提出了Promise解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息,解决回调函数嵌套过多的情况。ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 是“异步”的简写,比如Ajax中就有这个,代表异步请求; 因为await只能出现在async函数中的语法规定,await 可以认为是 async w... 一、前言在前期博文中,针对异步编程,提出了Promise解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息,解决回调函数嵌套过多的情况。ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 是“异步”的简写,比如Ajax中就有这个,代表异步请求; 因为await只能出现在async函数中的语法规定,await 可以认为是 async w...
- 前言await-to-js 的源码较少,代码较少的情况,可以尝试采用 3W 方法进行源码分析,帮助快速了解它的实际应用场景。阅读本文,会有以下收获:了解 await-to-js 库能解决什么问题。分析 await-to-js 库是如何解决问题。摸索 await-to-js 库的实际使用场景。Why:await-to-js 诞生的契机打开它的 github 地址,有很简单的一句介绍:Async... 前言await-to-js 的源码较少,代码较少的情况,可以尝试采用 3W 方法进行源码分析,帮助快速了解它的实际应用场景。阅读本文,会有以下收获:了解 await-to-js 库能解决什么问题。分析 await-to-js 库是如何解决问题。摸索 await-to-js 库的实际使用场景。Why:await-to-js 诞生的契机打开它的 github 地址,有很简单的一句介绍:Async...
- 一、前言在前期博文中,针对异步编程,提出了Promise解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息,解决回调函数嵌套过多的情况。ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 是“异步”的简写,比如Ajax中就有这个,代表异步请求; 因为await只能出现在async函数中的语法规定,await 可以认为是 async w... 一、前言在前期博文中,针对异步编程,提出了Promise解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息,解决回调函数嵌套过多的情况。ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 是“异步”的简写,比如Ajax中就有这个,代表异步请求; 因为await只能出现在async函数中的语法规定,await 可以认为是 async w...
- 在 Flutter 中,常用的操纵数据库的类库有 sqflite 和 moor。下面我将分别介绍这两个类库的比较以及常用的方法,并附上相应的代码。 sqflitesqflite 是一个 SQLite 数据库的 Flutter 接口,它提供了一组简单的 API,可用于在移动应用程序中存储和检索数据。以下是 sqflite 和 moor 的比较:sqflite 使用原生 SQLite 库,而 m... 在 Flutter 中,常用的操纵数据库的类库有 sqflite 和 moor。下面我将分别介绍这两个类库的比较以及常用的方法,并附上相应的代码。 sqflitesqflite 是一个 SQLite 数据库的 Flutter 接口,它提供了一组简单的 API,可用于在移动应用程序中存储和检索数据。以下是 sqflite 和 moor 的比较:sqflite 使用原生 SQLite 库,而 m...
上滑加载中
推荐直播
-
物联网资深专家带你轻松构建AIoT智能场景应用
2024/11/21 周四 16:30-18:00
管老师 华为云IoT DTSE技术布道师
如何轻松构建AIoT智能场景应用?本期直播将聚焦华为云设备接入平台,结合AI、鸿蒙(OpenHarmony)、大数据等技术,实现物联网端云协同创新场景,教您如何打造更有实用性及创新性的AIoT行业标杆应用。
回顾中 -
Ascend C算子编程之旅:基础入门篇
2024/11/22 周五 16:00-17:30
莫老师 昇腾CANN专家
介绍Ascend C算子基本概念、异构计算架构CANN和Ascend C基本概述,以及Ascend C快速入门,夯实Ascend C算子编程基础
即将直播 -
深入解析:华为全栈AI解决方案与云智能开放能力
2024/11/22 周五 18:20-20:20
Alex 华为云学堂技术讲师
本期直播我们将重点为大家介绍华为全栈全场景AI解决方案以和华为云企业智能AI开放能力。旨在帮助开发者深入理解华为AI解决方案,并能够更加熟练地运用这些技术。通过洞悉华为解决方案,了解人工智能完整生态链条的构造。
去报名
热门标签