什么是线程封闭: 数据被封闭到各自的线程中,从而避免使用同步的技术。这个概念称作线程封闭。 为什么提出线程封闭: 多线程访问共享可变的数据是,涉及到了数据同步问题。但是并不是所有的时候都需要共享数据。所以提出了线程封闭的概念。 Java中线程封闭的具体实现有:ThreadLocal、栈封闭。 1:T ...
分类:
编程语言 时间:
2020-03-30 21:45:12
阅读次数:
85
说明 channel是go当中的一个核心类型,可以看做是管道。并发核心单元可以通过channel进行数据的发送和接收,从而实现通信。 在go中,channel是一种数据类型,主要被用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题。 go当中的goroutine运行在相同的地址空间,因此访 ...
分类:
其他好文 时间:
2020-03-21 09:37:10
阅读次数:
61
#修改 Windows对硬件时间的对待方式,让 Windows把硬件时间当作UTCReg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1Reg ...
Spring中,从BeanFactory或ApplicationContext取得的实例为Singleton(单例模式),就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注 ...
分类:
编程语言 时间:
2020-03-07 00:12:21
阅读次数:
92
重点: 进程的含义 理解掌握同步的概念及经典进程同步问题 难点: 进程同步算法 知识点: 进程、线程、进程的特征、PCB、进程控制、进程同步(通信) 前趋图和程序执行 前趋图: 有向无循环图(DAG),描述进程之间执行的前后关系。结点间的有向边用于表示两个节点间存在的偏序、前趋关系“->”。 (Pi ...
分类:
其他好文 时间:
2020-03-04 12:30:21
阅读次数:
71
synchronized与volatile关键字 一、 synchronized synchronized是Java语法中的一个内置锁的实现。synchronized关键字解决了代码块或者方法上的同步问题,同一时间,只有一个线程能够通过并执行。提供了并发场景的一个共享资源访问的解决方案。 当我们说s ...
分类:
编程语言 时间:
2020-03-03 20:34:49
阅读次数:
95
数据库集群会产生哪些问题? 1. 自增id问题 2. 数据关联查询问题(水平拆分) 3.数据同步问题 数据库集群下自增id问题的解决? 1. UUID(不推荐, 不能建索引) 2. 设置id步长(缺点:需要在设计数据库时需要确定库的数量,才能定好步长间隔) 3. 雪花算法(sharding-jdbc ...
分类:
数据库 时间:
2020-03-03 14:48:30
阅读次数:
86
datax: Data是阿里巴巴公司开发的,为解决异构数据源同步问题 它的设计理念: 安装: datax下载地址:https://github.com/alibaba/DataX 由于datax需要python2.x版本,而本机装的是python3.x 所以要安装python2 并且两个版本互不影响 ...
多线程同步问题,都需要用到监视器,用来监视资源是否可用。C++中使用condition_variable,Java中使用Condition来实现同步。 1. 实现思路 1. 需要有一个全局变量控制当前该哪个线程访问资源 2. 调用wait,让出资源使用权 3. 调用notify,通知线程访问资源 2 ...
分类:
编程语言 时间:
2020-02-25 14:43:12
阅读次数:
89
1965年dijkstra提出了一个关于进程同步问题,大致意思如下: 有5个哲学家坐在一张圆桌上,每个哲学家左右两边各有一个叉子。 只有当集齐两个叉子,才能够吃饭,否则哲学家就得乖乖去思考。 桌子上就5个叉子,理论上同时可以让两个哲学家进餐,那么怎么用两个进程来模拟这个状态呢? 0x001 这几个哲 ...
分类:
其他好文 时间:
2020-02-23 18:07:46
阅读次数:
65