前面关于socket的编程,全部是基于同步机制开发的服务器和客户端,线程会进入阻塞或者挂起状态,降低线程利用率,同时程序影响效率。因此,向tcp程序引入异步回调:在异步套接字完成网络操作后,线程没有被阻塞或者挂起,接着通过调用回调函数处理后续网络操作。而主线程继续执行,以实现并行执行的结果。 为什么 ...
分类:
其他好文 时间:
2019-12-07 10:24:23
阅读次数:
92
JMM与问题引入 为啥先说JMM,因为CAS的实现类中维护的变量都被volatile修饰, 这个volatile 是遵循JMM规范(不是百分百遵循,下文会说)实现的保证多线程并发访问某个变量实现线程安全的手段 一连串的知识点慢慢缕 首先说什么是JMM, JMM就是大家所说的java的内存模型, 它是 ...
分类:
编程语言 时间:
2019-11-27 00:27:50
阅读次数:
60
Java语言提供了一种稍弱的同步机制,即Volatile变量,用来确保变量的更新操作通知到其他线程。volatile变量不会被缓存在寄存器或对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。 volatile变量具备两种特性: 变量可见性就是保证该变量对所有线程可 ...
分类:
其他好文 时间:
2019-11-22 13:46:18
阅读次数:
71
在线程并发执行的时候,我们需要保证临界资源的安全访问,防止线程争抢资源,造成数据二义性。 线程同步: 条件变量 为什么使用条件变量? 对临界资源的时序可控性,条件满足会通知其他等待操作临界资源的线程,类似信号。 场景:T-DAY展会排队参观/生产者消费者模型 条件变量是什么? 是一种同步机制,一个线 ...
分类:
编程语言 时间:
2019-11-12 16:04:29
阅读次数:
98
本文摘抄自http://www.cnblogs.com/heyonggang/p/3172570.html 1、线程与进程的区别联系 2、进程通信方式有哪些? 3、同步的方式有哪些? 4、ThreadLocal与其它同步机制的比较 5、进程死锁的条件 第一题: (1)线程是进程的一个实体,一个进程可 ...
分类:
其他好文 时间:
2019-11-09 19:34:47
阅读次数:
89
对Python多线程实现同步机制及其遇到的一些问题。本文给出了样例代码 ,主要包括Condition,Event and Queue三种机制 1. 锁机制 threading的Lock类,用该类的acquire函数进行加锁,用realease函数进行解锁,当一个线程调用锁的acquire()方法获得 ...
分类:
编程语言 时间:
2019-11-06 11:42:57
阅读次数:
124
操作系统期末复习 第一章 操作系统引论 操作系统的作用 1. 作为计算机硬件系统之间的接口 2. 系统资源的管理者 3. 实现对计算机资源的抽象 操作系统的发展过程 未配置操作系统的计算机系统 1. 人工操作,用户独占全机,资源浪费 2. 脱机输入输出(Off Line I/O)方式。 单道批处理系 ...
分类:
其他好文 时间:
2019-11-04 17:44:38
阅读次数:
126
转自:https://www.cnblogs.com/Young111/p/11518346.html 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数 ...
分类:
其他好文 时间:
2019-10-29 23:35:40
阅读次数:
80
场景描述 MongoDB副本集中有一台Secondary节点出现RECOVERING的状态 状态如下: 恢复思路: 1.关闭MongoDB故障节点的数据库服务,移除数据目录,启动MongoDB服务,开启自动同步机制,恢复secondary节点。 2.找到另外一个secondary数据节点的快照,关闭 ...
分类:
数据库 时间:
2019-10-24 15:55:16
阅读次数:
148
线程安全就是防止某个对象或者值在多个线程中被修改而导致的数据不一致问题,因此我们就需要通过同步机制保证在同一时刻只有一个线程能够访问到该对象或数据,修改数据完毕之后,再将最新数据同步到主存中,使得其他线程都能够得到这个最新数据。下面我们就来了解Java一些基本的同步机制。Java提供了一种稍弱的同步... ...
分类:
编程语言 时间:
2019-10-21 13:40:43
阅读次数:
109