不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据 ...
                            
                            
                                分类:
编程语言   时间:
2019-10-18 18:57:58   
                                阅读次数:
99
                             
                    
                        
                            
                            
                                    wait,会使调用的线程进入等待状态,会释放所持有的对象锁(调用的时候也必须先获取到锁,否则会抛出异常 IllegalMonitorStateException) notifyAll、notify,会去唤醒应当前对象而等待的线程,(调用的时候也必须先获取到锁,否则会抛出异常 IllegalMonit ...
                            
                            
                                分类:
编程语言   时间:
2019-10-18 18:44:15   
                                阅读次数:
102
                             
                    
                        
                            
                            
                                    消息队列 在前一篇文章中 "【TencentOS tiny学习】源码分析(3)——队列" 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息队列的实现。 其实消息队列是TencentOS tiny的一个 基础组件 ...
                            
                            
                                分类:
其他好文   时间:
2019-10-16 23:07:30   
                                阅读次数:
111
                             
                    
                        
                            
                            
                                    每日分享 Darkness cannot drive out darkness; only light can do that. Hate cannot drive out hate; only love can do that. 黑暗无法驱除黑暗; 只有光可以做到这一点。 仇恨无法驱走仇恨; 只有 ...
                            
                            
                                分类:
编程语言   时间:
2019-10-14 12:59:10   
                                阅读次数:
138
                             
                    
                        
                            
                            
                                    拓扑排序: head[u]: 以u为起点的边,最前面的边的编号 拓朴排序模板:邻接表(结构体+队列实现) #include<iostream> #include<cstring> #include<queue> using namespace std; const int maxn = 1e5+5; ...
                            
                            
                                分类:
编程语言   时间:
2019-10-06 20:23:37   
                                阅读次数:
109
                             
                    
                        
                            
                            
                                java中的队列LinkedList是动态数组实现的,这里利用两个队列来实现栈 ...
                            
                            
                                分类:
其他好文   时间:
2019-10-06 15:18:27   
                                阅读次数:
103
                             
                    
                        
                            
                            
                                    基于队列实现生产者与消费者模型 上述代码中解决办法缺点:如果有N个消费者,是否还要生产者put进去N个None呢? 用JoinableQueue 解决消费者结束问题 是不是晕了,那就对了,代码执行顺序: 1、consumer 中把对列中所有的任务消耗完 q.task_done() 2、produce ...
                            
                            
                                分类:
编程语言   时间:
2019-09-21 18:48:26   
                                阅读次数:
86
                             
                    
                        
                            
                            
                                    [TOC] 线程Queue、定时器、进程池和线程池、多线程socket通信 一、Queue队列实现线程通信 queue模块下提供了几个阻塞队列,这些队列主要用于实现线程通信。在queue模块下主要提供了三个类,分别代表三种队列,它们的主要区别就在于进队列、出队列的不同。 关于这三个队列类的简单介绍如 ...
                            
                            
                                分类:
编程语言   时间:
2019-09-20 00:17:27   
                                阅读次数:
112