一、前言 workqueue是一个驱动工程师常用的工具,在旧的内核中(指2.6.36之前的内核版本)workqueue代码比较简单(大概800行),在2.6.36内核版本中引入了CMWQ(Concurrency Managed Workqueue),workqueue.c的代码膨胀到5000多行,为 ...
分类:
其他好文 时间:
2018-02-21 23:05:16
阅读次数:
206
一、前言 本文主要以__alloc_workqueue_key函数为主线,描述CMWQ中的创建一个workqueue实例的代码过程。 二、WQ_POWER_EFFICIENT的处理 __alloc_workqueue_key函数的一开始有如下的代码: if ((flags & WQ_POWER_EF ...
分类:
其他好文 时间:
2018-02-21 23:02:12
阅读次数:
206
一、前言 一种新的机制出现的原因往往是为了解决实际的问题,虽然linux kernel中已经提供了workqueue的机制,那么为何还要引入cmwq呢?也就是说:旧的workqueue机制存在什么样的问题?在新的cmwq又是如何解决这些问题的呢?它接口是如何呈现的呢(驱动工程师最关心这个了)?如何兼 ...
分类:
其他好文 时间:
2018-02-21 23:00:47
阅读次数:
214
一、前言 本文主要讲述下面两部分的内容: 1、将work挂入workqueue的处理过程 2、如何处理挂入workqueue的work 二、用户将一个work挂入workqueue 1、queue_work_on函数 使用workqueue机制的模块可以调用queue_work_on(有其他变种的接 ...
分类:
其他好文 时间:
2018-02-21 22:59:53
阅读次数:
211
1 并发 多用户数据库管理系统的一个主要任务是对 并发(concurrency)进行控制,即对多个用户同时访问同一数据进行控制。当缺乏有效的并发控制时,修改数据的操作就不能保证正常,从而危害数据完整性。管理数据并发的方法是让每个用户轮流操作数据。而数据库管理系统的目标就是减少每个用户的等待时间,即让 ...
分类:
其他好文 时间:
2018-02-19 13:47:36
阅读次数:
184
source from http://tutorials.jenkov.com/java-concurrency/threadlocal.html#inheritableThreadLocal Java ThreadLocal Creating a ThreadLocal Accessing a T ...
分类:
编程语言 时间:
2018-02-06 20:28:27
阅读次数:
178
In software engineering, concurrency patterns are those types of design patterns that deal with the multi-threaded programming paradigm. Examples of t ...
分类:
其他好文 时间:
2018-01-24 22:15:42
阅读次数:
168
数据库的读现象浅析中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。 并发控制 在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正 ...
分类:
数据库 时间:
2018-01-17 01:02:36
阅读次数:
237
zeromq简介 zeroMQ不是TCP,不是socket,也不是消息队列,而是这些的综合体。 ZeroMQ以嵌入式网络编程库的形式实现了一个并行开发框架(concurrency framework), 能够提供进程内(inproc)、进程间(IPC)、网络(TCP)和广播方式的消息信道, 并支持扇 ...
分类:
其他好文 时间:
2018-01-11 23:49:12
阅读次数:
259
对于程序及服务的控制,本质上而言就是正确的启动,并可控的停止或退出。在go语言中,其实就是程序安全退出、服务控制两个方面。核心在于系统信号获取、Go Concurrency Patterns、以及基本的代码封装 程序安全退出 执行代码非安全写法 在代码部署后,我们可能因为服务配置发生变化或其他各种原 ...
分类:
其他好文 时间:
2017-12-29 15:08:55
阅读次数:
182