2016年9月23日

VxWorks 6.9 内核编程指导之读书笔记 -- VxWorks Small-Footprint Configuration

摘要: VxWorks内核编程指导读书笔记 阅读全文

posted @ 2016-09-23 10:00 黑暗帝国 阅读(1868) 评论(0) 推荐(0) 编辑

2015年1月29日

C#学习笔记之线程 - 高级主题:非阻塞同步

摘要: 非阻塞同步 - Nonblock Synchronization前面提到,即使在简单的赋值和增加一个字段的情况下也需要处理同步。尽管,使用锁可以完成这个功能,但是锁必定会阻塞线程,需要线程切换,在高并发的场景中,这使非常关键的。.NET框架的非阻塞同步能够执行简单的操作而不需要阻塞,暂停或等待。编写... 阅读全文

posted @ 2015-01-29 09:09 黑暗帝国 阅读(1141) 评论(1) 推荐(0) 编辑

2015年1月28日

C#学习笔记之线程 - 使用线程

摘要: 基于事件的异步模式 (EAP -- The Event-Based Asynchronous Pattern)EAP提供了一个简单的办法,通过它的类能够提供多线程能力,而不需显式的开启或管理线程。它还提供了以下特性:取消合作模式当工作线程完成时,安全更新WPF或WF的能力转发异常给完成的事件EAP只... 阅读全文

posted @ 2015-01-28 14:30 黑暗帝国 阅读(631) 评论(0) 推荐(0) 编辑

2015年1月27日

C#学习笔记之线程 - 同步上下文

摘要: 同步上下文(Synchronization Contexts)手动使用锁的一个替代方案是去声明锁。通过派生ContextBoundObject和应用Synchronization属性,你告诉CLR自动加锁。using System; using System.Threading; using Sys... 阅读全文

posted @ 2015-01-27 14:54 黑暗帝国 阅读(1529) 评论(2) 推荐(0) 编辑

C#学习笔记之线程 - 通知Signal

摘要: 通知事件等待句柄 Signal With EventWaitHandle事件等待句柄常用于通知。当一个线程等待直到接收到另外一个线程发出的信号。事件等待句柄是最简单的信号结构,它与C#事件无关。有三种方式:AutoResetEvent,ManualResetEven及CountdownEvent。前... 阅读全文

posted @ 2015-01-27 10:25 黑暗帝国 阅读(2439) 评论(0) 推荐(0) 编辑

2015年1月26日

C#学习笔记之线程安全

摘要: 线程安全一个程序和方法在面对任何多线程情况下都没有不确定,那么就是线程安全的. 线程安全主要通过加锁和减少线程之间互动的可能性来实现。通用类型很少全面线程安全的,由于以下几个原因:线程安全的开发负担非常重,尤其一个类型有很多字段时(每一个字段潜在与很多线程交互)。线程安全会降低了性能(正确的说,看它... 阅读全文

posted @ 2015-01-26 14:36 黑暗帝国 阅读(3961) 评论(1) 推荐(0) 编辑

2014年7月28日

WCF学习笔记 -- 如何用C#开发一个WebService

摘要: 假设所有工程的命名空间是demo。新建一个C#的ClassLibrary(类库)工程。在工程引用中加入System.ServiceModel引用。定义接口,你可以删除自动生成的代码,或者直接修改代码来添加接口。[ServiceContract]Interface IMath {[Operationc... 阅读全文

posted @ 2014-07-28 11:06 黑暗帝国 阅读(709) 评论(0) 推荐(0) 编辑

WCF学习笔记 -- 基本概念

摘要: WCF学习笔记之基本概念 阅读全文

posted @ 2014-07-28 11:04 黑暗帝国 阅读(198) 评论(0) 推荐(0) 编辑

2014年4月21日

APC -- Asynchronous Procedure Call 异步过程调用

摘要: 异步过程调用(APC -- Asynchronous Procedure Call )是一种与常用的和简单的同步对象不同的一种同步机制。我们在我们线程里使用基本的同步对象如MUTEX去通知其它线程,它应该停下来等我们完成之后你再继续。APCs使用了一种不同的策略,因此可能要求应用程序不同的设计。一个... 阅读全文

posted @ 2014-04-21 09:00 黑暗帝国 阅读(2249) 评论(0) 推荐(0) 编辑

2013年4月27日

CComboBox的SetItemData和GetItemData

摘要: 在做项目时,发现GetItemData老是返回null,很是不明白,后来经过研究发现时自己SetItemData时有些问题。所以把它记录下来,以防下次再错,也可以给新手一个提醒。我有一个CComboBox的成员m_Machine,以下是错误的情况 m_Machine.ResetContent(); DB::CRecordSet *set = (DB::CRecordSet*)wParam; for ( int i = 0; i < lParam; i++ ) { DB::CRecordRow Row = set->GetNextRow(); ASSERT(Row.IsValid() 阅读全文

posted @ 2013-04-27 16:38 黑暗帝国 阅读(1600) 评论(0) 推荐(0) 编辑

导航