java5之前,我们使用诸如synchronized,wait(),notify()方法对线程的操作属于对底层线程的操作,这样会出现很多的问题:低级的并发原语,比如synchronized,wait(),notify()经常难以正确使用。误用会导致竞态条件,线程饿死,死锁等风险。泰国依赖synchronized会影响程序性能以及程序的可扩展性开发者经
分类:
编程语言 时间:
2018-01-17 01:13:16
阅读次数:
266
一、多线程的三种实现方法 1、继承Thread类 2、实现Runnable接口 3、实现Callable接口 注:当用Future去接收call()返回值,该方法是阻塞的,即先打印“我是Callable”再打印“main结束” ...
分类:
编程语言 时间:
2018-01-17 00:57:12
阅读次数:
122
接前文 "跟我一起读postgresql源码(九)——Executor(查询执行模块之——Scan节点(上))" ,本篇把剩下的七个Scan节点结束掉。 8.SubqueryScan 节点 SubqueryScan节点的作用是以另一个査询计划树(子计划)为扫描对象进行元组的扫描,其扫描过程最终被转换 ...
分类:
数据库 时间:
2018-01-17 00:55:42
阅读次数:
330
为了34月份回学校春招,不得不复习一下线程的四种实现方式,希望春招时能找到更好的公司,加油! 1.继承Thread类 注:start()用来启动一个线程,当调用start()方法时,系统才会开启一个线程,通过Thead类中start()方法来启动的线程处于就绪状态(可运行状态),此时并没有运行,一旦 ...
分类:
编程语言 时间:
2018-01-17 00:23:28
阅读次数:
252
const PENDING = 'pending';//初始态const FULFILLED = 'fulfilled';//初始态const REJECTED = 'rejected';//初始态function Promise(executor){ let self = this;//先缓存当前 ...
分类:
其他好文 时间:
2018-01-14 11:00:00
阅读次数:
159
```java package bjsxt.curator.base; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import ... ...
从前面介绍的可优化语句处理相关的背景知识、实现思想和执行流程,不难发现可优化语句执行的核心内容是对于各种计划节点的处理,由于使用了节点表示、递归调用、统一接口等设计,计划节点的功能相对独立、代码总体流程相似,下面介绍执行器中各种计划节点的相关执行过程。 在PostgreSQL中,计划节点分为四类,分 ...
分类:
数据库 时间:
2018-01-13 12:47:32
阅读次数:
1088
==思考问题1== 向集群提交一个拓扑的时候,Storm是如何计算Task数以及Executor数的? ==思考问题2:== 构建拓扑的时候,有3个地方会影响task数,这3个地方之间有什么关系? ==关于Task数的计算== storm的拓扑分配的是在nimbus.clj中完成的。 代码路径:or ...
分类:
其他好文 时间:
2018-01-12 01:46:53
阅读次数:
205
Azkaban3.x安装部署 官方文档地址 三种模式 solo-server模式:exec进程和web进程为同一个进程,存放元数据的数据库为H2 two-server模式:与之前的单机版本类似,exec进程和web进程分开,存放元数据的数据库为mysql multiple-executor模式:ex ...
分类:
其他好文 时间:
2018-01-11 11:28:04
阅读次数:
1023
XML映射文件即MapperXML有下列几个顶级元素:cache-给定命名空间的缓存配置cache-ref-缓存配置的引用resultMap-描述结果集,是最强大也是最复杂的元素(没有之一)sql-可复用的语句块insertupdatedeleteselect(从前往后说,本次是cache、cache-ref)MyBatis缓存机制#一级缓存(默认开启,SqlSession级别的缓存)我们通过My
分类:
其他好文 时间:
2018-01-08 18:37:57
阅读次数:
97