发表了博客
2019/05/09 15:39

条件竞争(race condition)

条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。 参考了一些资料,发现一个比较能说明问题的实例。 #-*-coding:utf-8-*- import threading COUNT = 0 def Run(threads_name): global COUNT read_value = COUNT print "COUNT in Thread-%s is %d" % (str(threads_name), read_valu...

0
0
发表了博客
2018/07/26 13:20

Race UVA - 12034(dp+打表)

Disky and Sooma, two of the biggest mega minds of Bangladesh went to a far country. They ate, coded and wandered around, even in their holidays. They passed several months in this way. But everything has an end. A holy person, Munsiji came into their life. Munsiji took them to derby (horse racing). Munsiji enjoyed the race, but as usual Disky and Sooma did their as usual task instead of passing...

0
0
发表了博客
2020/06/21 14:29

什么是比赛条件? - What is a race condition?

问题: When writing multi-threaded applications, one of the most common problems experienced are race conditions. 在编写多线程应用程序时,遇到的最常见问题之一是竞争条件。 My questions to the community are: 我对社区的问题是: What is a race condition? 什么是比赛条件? How do you detect them? 您如何检测到它们? How do you handle them? 您如何处理它们? Finally, how do you prevent them from occurr...

0
0
发表于软件架构专区
2014/02/14 21:36

缓存简介--Cache In Hibernate: @Cache

缓存可以简单的看成一个 Map ,通过 key 在缓存里面找 value 。 一、缓存简介 Cache In Hibernate HIBERNATE 中的 CACHE 有两级 . 一级是在 Session 范围内的 CACHE . 即每个 Session 有自己的一个 CACHE, 当前操作的对象都会被保留在 CACHE 中 . 但是 Session 关闭后这个CACHE 也就没有 . 可见这级 CACHE 的生命期是很短的 . (使用 id 进行关键字存储:缓存的 key 就是 ID , value 是 POJO ) ( 缓存的是实体对象 ) 另一级 ...

0
2
发表了博客
2019/05/13 08:47

谈谈 Golang 中的 Data Race

Any race is a bug 我在接手其他同事的 golang 项目时,一般都会习惯性的做一个竞态检测。有时总会得到一些“惊喜”,比如像下面这段代码: package main import ( "fmt" "runtime" "time" ) var i = 0 func main() { runtime.GOMAXPROCS(2) go func() { for { fmt.Println("i is", i) time.Sleep(time.Second) } }() for { i += 1 } } 当通过 go run-race cmd.go 执行时,可以看到有明显的竞态出现: ================== WARNI...

0
0
发表了博客
2015/09/25 10:34

cache

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Reflection; namespace WindowsFormsApplication1 {         public class Caching         {             /// <summary>             /// 缓存对象             /// </summary>             public static r...

0
0
发表了博客
2019/02/10 23:46

[LeetCode] 818. Race Car 赛车

Your car starts at position 0 and speed +1 on an infinite number line. (Your car can go into negative positions.) Your car drives automatically according to a sequence of instructions A (accelerate) and R (reverse). When you get an instruction "A", your car does the following: position += speed, speed *= 2. When you get an instruction "R", your car does the following: if your speed is positive ...

0
0
发表于服务端专区
2018/03/18 22:25

Cache

缓存穿透 给不存在的key设个空值 缓存雪崩 过期时间加随机值 缓存击穿 永远不过期 https://blog.csdn.net/zeb_perfect/article/details/54135506 Redis Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作。 优点: 性能极高 – 数据存在内存中,...

0
0
发表了博客
2019/04/15 15:41

CPU Cache 机制以及 Cache miss

CPU体系结构之cache小结 1.What is cache? Cache是用来对内存数据的缓存。 CPU要访问的数据在Cache中有缓存,称为“命中” (Hit),反之则称为“缺失” (Miss)。 CPU访问它的速度介于寄存器与内存之间(数量级的差别)。实现Cache的花费介于寄存器与内存之间。 现在 CPU 的 Cache 又被细分了几层,常见的有 L1 Cache, L2 Cache, L3 Cache,其读写延迟依次增加,实现的成本依次降低。 现代系统采用从 Register ―> L1 Cache ―> L...

0
1
发表了博客
2019/05/23 08:00

谈谈 Golang 中的 Data Race(续)

我在上一篇文章中曾指出:在 Go 的内存模型中,有 race 的 Go 程序的行为是未定义行为,理论上出现什么情况都是正常的。并尝试通过一段有 data race 的代码来说明问题: package main import ( "fmt" "runtime" "time" ) var i = 0 func main() { runtime.GOMAXPROCS(2) go func() { for { fmt.Println("i is", i) time.Sleep(time.Second) } }() for { i += 1 } } 当通过 go run cmd.go 执行时,大概率会得到下面这样的输出: ...

0
0
发表了博客
2015/04/16 13:27

MultiRace-Efficient on-the-fly data race detection

最近在研究数据竞争检测方法,之前的工作是参考了Eraser这个工具1997年提出的基于Lockset方法的动态数据检测, 在Interl的Pin框架的基础上对方法进行了复现(论文中有关动态注解没有完成,这部分以后再整合)。在后续的论文研读中 发现大多数的方法都是基于Happens-Before和Lockset方法结合的思路,于是就看了下面这篇非常具有代表性的两种方法综 合的论文。 Reference: Pozniansky E, Schuster A. Efficient on-the-fly data ...

0
0
发表了博客
2018/02/13 14:24

cache基础

cache是系统中的一块快速SRAM,价格高,但是访问速度快,可以减少CPU到main memory的latency。 cache中的术语有:   1) Cache hits,表示可以在cache中,查找到相应地址的entry。   2) Cache Miss,表示在cache中,找不到相应地址的entry。   3) Snoop,cache不断监视transaction的地址线,来不间断的检查地址地址是否在cache中。   4) Snarf,从main memory中读出数据,同时更新cache中的旧值,称为Snarf。   5) Di...

0
1
发表了博客
2018/08/03 23:16

ARM920T的Cache

转载自:http://www.eefocus.com/mcu-dsp/242034 ARM920T有16K的数据Cache和16K的指令Cache,这两个Cache是基本相同的,数据Cache多了一些写回内存的机制,后面我们以数据Cache为例来介绍Cache的基本原理。我们已经知道,Cache中的存储单位是Cache Line,ARM920T的一个Cache Line是32字节,因此16K的Cache由512条Cache Line组成。要了解Cache的基本原理,我们从如何设计Cache这个问题入手。 设计Cache的一种最朴素的想法是,把V...

0
0
发表于运维专区
2016/09/06 13:06

cache 浅析

1. Cache Cache一词来源于法语,其原意是“藏匿处,隐秘的地方”,而自从被应用于计算机科学之后,就已经成为了英语中的一个计算机体系结构专有名词。 Sun Microsystems的前首席科学家Billy Joy,作为BSD unix,csh,vi,NFS,java,TCP/IP等的发明者,他曾经说过,在计算机科学领域,如果没有了cache的发明,其他的一切发明都将失去意义。而正是他,将给予分页的虚拟内存系统引入了Unix,影响了之后所有的新操作系统开发。 Ca...

0
0
发表了博客
2019/04/16 19:56

CPU Cache

大纲: 1.CPU Cache的产生背景 2.CPU Cache模型 3.Cache Line 4.Cache Bouncing 5.CPU、CPU Cache、Main Memory交互 6.CPU 缓存一致性 7.Java内存模型 1.CPU Cache的产生背景   计算机中的所有运算操作都是由CPU的寄存器来完成的,CPU指令的执行过程需要涉及数据的读取和写入,这些数据只能来自于计算机主存(通常指RAM)。   CPU的处理速度和内存的访问速度差距巨大,直连内存的访问方式使得CPU资源没有得到充分合理的利用...

0
0
发表了博客
2019/06/06 14:56

cache介绍

原帖地址: http://www.wowotech.net/memory_management/458.html?from=timeline 今天探究的主题是cache,我们围绕几个问题展开。为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么? 为什么需要cache memory 在思考cache是什么之前我们首先先来思考第一个问题:我们的程序是如何运行起来的?我们应该知道程序是运行在 RAM之中,RAM 就是我们常说的DDR(例如 DDR3、DDR4等)。我们称之为main ...

0
0
发表了博客
2019/06/10 17:19

Guava Cache

内容摘要 写入数据到缓存 手动写入 (put) 自动加载(按需加载) 数据清理 过期、清理 基于容量的清理触发条件 基于时间的过期方案 基于Reference Key,Value 手动移除 (显式移除) RemoveListener 数据清理时机 refresh 配置说明 场景说明 1、写数据到缓存 1.1 手动写入 put Guava Cache 底层是由一个ConcurrentMap实现的,那么底层必然支持两个常规的put:put(k,v), putIfAbsent(k,v)。 从类图上来看,基于Guava Cache实现...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页