什么是事务? 事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败! 事务特征ACID: 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。 一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确 ...
分类:
编程语言 时间:
2019-06-26 21:59:13
阅读次数:
173
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因是: 第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。 ...
分类:
其他好文 时间:
2019-06-15 20:31:20
阅读次数:
115
并发性:互斥和同步 基本概念 原子操作:一个函数或动作由一个或多个指令的序列实现,对外是不可见的;保证指令的序列要么作为一个组执行, 要么都不执行,对系统状态没有可见的影响。保证了并发的隔离。 临界区:一段代码,在这段代码中进程将访问共享资源,当另一个进程已经在这段代码中运行时,这个进程就不能在这段 ...
分类:
其他好文 时间:
2019-06-15 15:10:12
阅读次数:
105
项目中写多线程时,需要判断所有线程是否执行完毕,所以想到了添加累加器来判断。这个累加器使用什么变量,找到了以下2种方式。 1. 类似AtomicInteger这种提供原子操作的类型AtomicInteger count = new AtomicInteger(0);count.getAndIncre ...
分类:
其他好文 时间:
2019-06-12 19:46:25
阅读次数:
69
文件IO回调函数是由别人的函数执行时调用的函数.不带缓冲的文件IO 每个read和write都调用内核中的一个系统调用只要涉及在多进程间通信共享资源.原子操作就变成非常重要.函数: int open(const char pathname, int oflag,..mode); int create ...
分类:
其他好文 时间:
2019-06-01 10:06:50
阅读次数:
116
第二部分:用户区同步 同步和互斥 同步:就是按照一定的顺序执行不同的线程 互斥:当一个线程访问某一资源的时候,其它线程不能同时访问 同步:就是按照一定的顺序执行不同的线程 互斥:当一个线程访问某一资源的时候,其它线程不能同时访问 多线程产生的问题 产生问题的原因 原子操作(Interlocked.. ...
关于CAS等原子操作 在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以用其来实现各种无锁(lock ...
分类:
其他好文 时间:
2019-05-19 11:39:49
阅读次数:
187
一、什么是事务 数据库中的概念,按我个人理解:能够保证一组任务全部执行成功或者全部执行失败的这么个机制,叫事务 事务是数据库中重要概念,如果没有这种保障机制,数据库中的数据就是不安全的(就是无法保证数据的正确性) 在数据库中,一组任务,就是放在一起执行的多条sql 二、ACID保证数据安全 所以如何 ...
分类:
数据库 时间:
2019-05-11 17:49:00
阅读次数:
154
什么是原子操作? 原子操作和数据库的ACID有啥关系? AtomicInteger是怎么实现原子操作的? AtomicInteger是有什么缺点? ...
分类:
编程语言 时间:
2019-05-07 01:33:37
阅读次数:
171
进程控制的主要任务: 进程控制是对系统中所有进程从创建、执行到撤销的全过程实行有效的管理和控制。 进程控制一般是由操作系统内核的相应程序(原语)来实现。通常,操作系统内核运行在系统态。 一、原语 原语是由若干条指令组成的,用于完成特定功能的,具有原子性(不可分割)的子程序。它与一般过程的区别:它们是 ...
分类:
系统相关 时间:
2019-05-02 11:55:31
阅读次数:
180