ICode9

精准搜索请尝试: 精确搜索
  • Spyglass CDC工具使用(四)2022-07-07 16:06:33

      最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结。 做CDC检查使用的是Spyglass工具。以下内容转载自:Spyglass之CDC检查(4) | 码农家园 (codenong.com) 文章目录 同步方法 哪些信号需要同步 常用同步方法 Rules AC_unsync01/02 AC_sync01

  • 【JUC 并发编程】— AQS 概述与实例2022-06-08 18:36:46

    介绍 队列同步器 AbstractQueuedSynchronizer,简称为 AQS,是用来构建锁及其他同步组件(比如 ReentrantLock、CountDownLatch)的基础框架。它使用了一个 int 成员变量表示同步状态,通过内置的 FIFO 队列来完成获取资源线程的排队工作。AQS 的主要使用方式是继承,子类被推荐被定义为自定义

  • JUC同步框架详解2021-12-03 20:01:16

    前言 最近几个周末都在学习JUC有关的东西,在学习AQS时在网上发现了《The java.util.concurrent Synchronizer Framework》这篇论文的中文翻译,因此分享下。 英文版地址:http://gee.cs.oswego.edu/dl/papers/aqs.pdf 摘要 在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的

  • AQS总结2021-09-11 13:33:54

    java并发编程核心JUC,JUC的核心是AQS,而AQS的核心是Unsafe使用的CAS(compare and swap)。 AQS全称:AbstractQuenedSynchronizer抽象的队列式同步器。 AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它。如:ReentrantLock/Semaphore/CountDownLatch...。

  • 并发编程(六)抽象队列同步器AQS解析2021-07-20 21:32:16

    一、背景介绍   学习AQS前先了解一位巨佬,也就是java.util.concurrent包的作者Doug Lea   Java并发编程核心在于java.concurrent.util包,而JUC当中的大多数同步器实现都是围绕着一些共同的基础行为去实现的,比如: 等待队列 条件队列 独占获取 共享获取等   定义:而这些行为的

  • JUC同步框架详解2021-06-12 09:58:11

    前言 最近几个周末都在学习JUC有关的东西,在学习AQS时在网上发现了《The java.util.concurrent Synchronizer Framework》这篇论文的中文翻译,因此分享下。 英文版地址: http://gee.cs.oswego.edu/dl/papers/aqs.pdf 摘要 在J2SE 1.5的java.util.concurrent包

  • 异步bus交互(一)— 两级DFF同步器2021-05-01 17:00:23

    跨时钟域处理 & 亚稳态处理 1.问题产生 现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时

  • IC常用知识6-信号跨时钟同步2021-04-16 10:33:01

    文章目录 1. 单bit信号跨时钟域传输1.1 电平同步器1.2 边沿检测器1.3 脉冲同步器1.4 电平延展-快到慢 2. 多bit信号跨时钟域传输2.1. 握手2.2. 异步FIFO2.3 使用异步双口RAM2.4 DMUX 3. 相关题目3.1 设计一个脉冲检测器3.2 介绍一下各种同步设计的优缺点3.3相关选择题 1

  • 软件架构-分布式系列并发编程Lock锁和Tools限制2021-03-15 17:01:18

     虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。源码:https://github.com/limingios/netF

  • 锁与同步器的基础--AQS2021-03-06 23:35:17

    什么是AQS AQS全名AbstractQueueSynchronizer,可以翻译为抽象队列同步器 Abstract--说明该类需要被继承,提供实现的框架和一些必要的功能 事实上,AQS也的确提供了一个实现阻塞锁(blocking lock)和依赖于FIFO队列的同步器(Synchronizer)的框架 Queue--说明该类以队列的形式来存储数

  • 多线程同步器之CountDownLatch2021-03-06 20:57:32

    文章目录 CountDownLatch是什么核心方法构造方法常用的其他三个方法 使用案例 CountDownLatch是什么 countDownLatch是在java1.5被引入,可以翻译为计数器。主要用于等待多个线程一起执行完成后继续下一步,Thread.join()有点类似 核心方法 构造方法 CountDownLatch 值提

  • 并发编程专题五:抽象队列同步器AQS应用Lock2021-02-11 09:01:55

    并发之父    生平不识Doug Lea,学懂并发也枉然   Java并发编程核心在于java.util.concurrent包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简称AQS,AQS定义了一套

  • Java 队列同步器框架 AQS 实现原理2021-01-27 07:03:44

    前言 在 Java 中通过"锁"来控制多个线程对共享资源的访问,使用 Java 编程语言开发的朋友都知道,可以通过 synchronized 关键字来实现锁的功能,它可以隐式的获取锁,也就是说我们使用该关键字并不需要去关心锁的获取和释放过程,但是在提供方便的同时也意味着其灵活性的下降。例如,有这样的

  • AQS源码浅析2021-01-08 20:34:33

    一、AQS简介 AbstractQueuedSynchronizer 抽象队列同步器。简称AQS,同时拥有 同步队列 与 等待队列 二、源码浅析 同步队列         线程调用了lock 方法,首先调用 acquire 方法请求锁,acquire 里面首先将现场节点封装Node 加入到同步队列的队尾,然后 在 acquireQueued 的循环

  • 3.处理多个时钟2020-12-15 23:31:36

    很少有芯片设计时单时钟域的,多时钟域中可能有频率不同或频率相同但是相位不同的时钟共同存在。这就会遇到建立时间&保持时间不足进而导致亚稳态的问题。 建立时间:时钟脉冲达到前,输入数据需要保持稳定的时间保持时间:时钟脉冲到达后,输入数据需要保持稳定的时间 多时钟设计的

  • 多并发之锁机制2020-12-14 20:02:29

    目录 一、Lock接口1.1 什么是锁?1.2 Lock对比synchronized关键字及常用API1.3 Lock接口源码 二、队列同步器2.1 什么是队列同步器2.2 队列同步器的接口与示例 三、重入锁3.1 什么是重入锁3.2 实现重进入 四、读写锁4.1 什么是读写锁4.2 读写锁的接口与示例4.3 锁降级 五、Co

  • 网友:欲戴王冠,必承其重!-同样的95后人家阿里p6月薪3W,看了下他的工资单,我哭了!2020-12-11 14:01:07

    95年阿里P6工程师,最近在某匿名区晒出3万+税后工资,引来一大批网友吐槽和羡慕,但是阿里真的不好进呀!   今天给对大家分享一份可进大厂的超赞笔记!!! 先看这几个大厂招聘需求... 这份笔记足以支撑你面试过程中所有的「高并发编程」问题!!!   笔记介绍: 该笔记集合了「JUC同步锁、CAS、A

  • 抽象队列同步器2020-11-05 18:02:09

    一 BlockingQueue   是java.util.concurrent包提供的用于解决并发生产者-消费者最有用的类,它的特性是在任意时刻只有一个线程可以进行take或put操作,并且blockingqueue提供了超时return null的机制,在很多生产场景里可以看到这个工具的身影.   1. 队列类型     无限队列

  • 并发编程学习笔记(十三、ASQ同步器源码解析2,ASQ共享锁)2020-06-16 23:04:56

    目录: 共享锁和独占锁的区别 共享锁实现原理 共享锁和独占锁在源码上有何区别 共享锁和独占锁的区别 共享锁和独占锁(排它锁)最大的区别就是,在同一时刻能否有多个线程获取同步状态。 独占模式,获取资源后,只有一个线程获取同步状态并执行。 共享模式,在获取资源后,多个线程共同执行。

  • Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍2020-03-31 11:55:29

    Java并发包下锁学习第二篇队列同步器还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图:从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本文中,凯哥就用AQS来代替这个类)。我们先来了解这个类。对这个类了解之后,学习后面的会更容易了。本篇是《凯哥(凯哥Java:ka

  • 基于AQS自己实现一个同步器2020-02-04 11:54:04

      前面说了这个多,我们可以自己尝试实现一个同步器,我们可以简单的参考一下ReentrantLock这个类的实现方式,我们就简单的实现一个不可重入的独占锁吧!   一.简单分析ReentrantLock的结构    下图所示,直接实现了Lock这个接口,然后定义了一个内部类继承AQS,暂时不考虑公平锁和非公平

  • Java并发--队列同步器(AbstractQueuedSynchronizer)2020-01-20 18:05:13

    队列同步器(AQS) 队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。 同步器的主要使用方式是继承,子类通过继承同步器并实现它的抽象方法来管

  • java同步器2019-10-27 14:04:42

    摘要:java提供了synchronized关键字对临界区进行线程同步访问。由于synchronized 很难正确的编写同步代码,并发工具类提供了高级的同步器(控制通用同步方法的类)            本文主要介绍倒计时门闩(CountDownLatch)、同步屏障(cyclic barrier)、交换器(exchanger)、信号量(semaphore)

  • 队列同步器-AbstractQueuedSynchronizer-独占式2019-09-26 17:41:20

    同步器依赖内部的同步队列(一个FIFO双向队列),来完成同步状态的管理,当前线程获取同步状态失败时,同步器会将当前线程以及等待信息放入到一个节点Node并将其加入同步队列,同时会阻塞当前线程,但同步状态释放时,会将首节点的线程唤醒,使其产生获取同步状态. 同步队列的节点(

  • ntp服务搭建(时间同步器)2019-08-21 19:01:15

    搭建ntp服务 准备环境: 服务端 192.168.124.117 客户端 192.168.124.109 服务端配置: yum install ntp ntpdate -y 备份配置文件 cp /etc/ntp.conf /etc/ntp.conf.bak 编辑配置文件 vim /etc/ntp.conf 在里面 将#restrict 192.168.1.0 mask 255.255.255.0 nomodify not

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有