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
.net frameworks5.0主推的就是异步编程APM,它事实上不是新的东西,而是微软将之前的线程等概念的进行的一次封装,提出了await,async等关键字,引用了Task类,也大大简化了APM的开发,下面我们将通过一个具体的例子来介绍一下APM的使用场合。实例说明有一个面向WEB的API接...
分类:
其他好文 时间:
2014-06-18 18:53:03
阅读次数:
245
如何加锁锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...解.....
分类:
数据库 时间:
2014-06-18 18:40:01
阅读次数:
336
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
●boost锁的概述boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。▲mutex对象类mutex类主要有两种:boost::mutex,boost::shared_mutex,其中mutex有lock和unlock方法,shared_mutex除了提供lock和u...
分类:
其他好文 时间:
2014-06-15 23:47:04
阅读次数:
312
1.在单线程中,我们每次只能做一件事情。
而在多线程中,其实最本质的也是一次只能做一件事情,只是CPU给定的时间片完成之后,切换到另一个线程,然后这个分配CPU的时间片完成之后,再次切换到另一个线程,如此反复,其间切换的速度很快,给人一种同时进行的错觉而已。
但在多线程中,往往会发生两个线程抢占资源的问题,所以我们需要防止这些资源访问的冲突。
C#提供线程同步机制来防止资源访问的冲突,其中主...
分类:
编程语言 时间:
2014-06-15 19:38:36
阅读次数:
293
http://blog.csdn.net/kyokowl/article/details/6294341
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(C...
分类:
其他好文 时间:
2014-06-15 17:31:12
阅读次数:
167
上一篇介绍了MySQL源码中保护内存结构或变量的锁,这里开始介绍下MySQL事务中的表锁。注1: 在表锁的实现上面,使用【mutex+condition+queue】的结构实现并发,阻塞,唤醒的表锁功能。注2: 本文进行的一些实验,重要的配置项:1. autocommit=02. tx_isol.....
分类:
数据库 时间:
2014-06-15 09:36:39
阅读次数:
250
简介
multiprocessing模块使用和threading包类似的API接口来产生多进程,multiprocessing包提供本地和远程的并发,通过使用subprocesses(子进程)代替threads(线程)有效的避开了GIL(Global Interpreter Lock)。由于这一点,multiprocessing模块允许程序充分的利用多处理器。可以跨平台使用,包括Unix和Win...
分类:
编程语言 时间:
2014-06-15 09:22:20
阅读次数:
375