控制流Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次;if和switch语句来执行确定的条件下不同的分支的代码;break和continue关键字能将运行流程转到你代码的另一个点上。除了C语言传统的for-condition-increment循环,Swift...
分类:
其他好文 时间:
2014-06-24 11:57:14
阅读次数:
202
初学YII, 整理了一些YII数据库的相关操作, 共同学习,共同进步。一、查询数据集合 1 //1.该方法是根据一个条件查询一个集合 2 $admin=Admin::model()->findAll($condition,$params); 3 $admin=Admin::model()->find...
分类:
数据库 时间:
2014-06-20 20:24:28
阅读次数:
243
下面先对condition_impl进行简要分析。condition_impl在其构造函数中会创建两个Semaphore(信号量):m_gate、m_queue,及一个Mutex(互斥体,跟boost::mutex类似,但boost::mutex是基于CriticalSection的):m_mute...
分类:
其他好文 时间:
2014-06-20 20:11:44
阅读次数:
211
除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock、condition和barrier,这些都是为实现线程同步提供的。mutexboost提供的mutex有6种:boost::mutexboost::...
分类:
其他好文 时间:
2014-06-20 19:59:40
阅读次数:
293
When you know that a certain condition will not change throughout the life of the program, it makes sense to test the condition only once. Browser sni...
分类:
编程语言 时间:
2014-06-18 22:35:12
阅读次数:
341
作用:使用一条sql语句进行insert或者update操作,如果存在就update,如果不存在就insert语法:MERGE INTO table_name t1USING (table|view|sub_query) t2ON (join condition) WHEN MATCHED THEN...
分类:
数据库 时间:
2014-06-18 13:42:59
阅读次数:
314
多线程数据同步错误比较难检测,因为通常是与事件的特定发生顺序有关。
一、同步术语
Barrier(屏障)
barrier是多个Thread的集合点:所有的Thread都应该到齐在这个barrier之后才能允许它们继续下去。
Condition variable(条件变量)
实际上不是变量,而是与某个lock有关联的变量。
Event variable(事件变...
分类:
编程语言 时间:
2014-06-18 06:23:12
阅读次数:
356
DECLARE @TABLE_NAME VARCHAR(200) SET @TABLE_NAME = 'myFunction' --表名
DECLARE @TABLE_CONDITION VARCHAR(200) SET @TABLE_CONDITION = 'where Application=''0303'' AND FunctionType=''功能''' --条件
DECL...
分类:
数据库 时间:
2014-06-16 19:38:05
阅读次数:
267
MySQL为了保护数据字典元数据,使用了metadata lock,即MDL锁,保证在并发的情况下,结构变更的一致性。MDL锁的加锁模式和源码上的组织上和上一篇blog中MySQL表锁的实现方式一致,都采用了【mutex+condition+queue】来实现并发,阻塞,唤醒的控制。下面就来看看MD...
分类:
数据库 时间:
2014-06-16 13:12:51
阅读次数:
383
上一篇介绍了MySQL源码中保护内存结构或变量的锁,这里开始介绍下MySQL事务中的表锁。注1: 在表锁的实现上面,使用【mutex+condition+queue】的结构实现并发,阻塞,唤醒的表锁功能。注2: 本文进行的一些实验,重要的配置项:1. autocommit=02. tx_isol.....
分类:
数据库 时间:
2014-06-15 09:36:39
阅读次数:
250