• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
勿在浮沙筑高台
博客园 首页 新随笔 联系 订阅 订阅 管理
上一页 1 2 3 4 5 6 7 下一页

2012年6月24日

【Windows】线程漫谈——线程同步之Slim读/写锁
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。Slim读/写锁SRWLock的目的和关键段相同,对一个资源进行保护,构造了一段“原子访问”的代码,不让其他线程访问它。但与关键段不同的是SRWLock允许区分想要读取资源值的线程和想要写入资源值的线程,因为仅仅读取资源是不会破坏数据的,下面是Slim读/写锁的简单用法:SRWLOCK g_srwLock...//init SRWLockInitializeSRWLock(&g_srwLock);...//当需要写入资源的时候申请"排他锁"AcquireSRWLOckE 阅读全文
posted @ 2012-06-24 09:03 P_Chou 阅读(4330) 评论(0) 推荐(2)
 
 

2012年6月20日

【Windows】线程漫谈——线程同步之关键段
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。关键段关键段(Critical Section)是一小段代码,它在执行之前需要独占对一些共享资源的访问权。这种方式可以让多行代码以“原子方式”对资源进行操控。这里的原子方式,指的是代码知道除了当前线程之外,没有其他任何线程会同时访问该资源。当然,系统仍然可以暂停当前线程去调度其他线程。但是,在当前线程离开关键段之前,系统是不会去调度任何想要访问同一资源的其他线程的。下面的代码展示了Critical Section的使用方法:const int COUNT = 10;int g_nSum = 0;C 阅读全文
posted @ 2012-06-20 13:00 P_Chou 阅读(4985) 评论(2) 推荐(0)
 
 

2012年6月17日

【Windows】线程漫谈——线程同步之原子访问
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。多线程同步的难题我们知道单核处理器同一时刻只能处理一条指令,操作系统通过时间片调度实现了多任务和多线程。在这个过程中,操作系统随时会中断一个线程(这种中断是以指令为单位的),也就是说完全有可能在一个不确定的时候,线程用完了时间片,控制权交给了另一个线程,另一个线程用完时间片,控制权转回,但是这一进一出有可能一个被共享的全局变量的值已经变了!这也许会带来灾难性的后果,也许不会。因此,站在系统层面考虑,每当属于线程的时间片用完之后,系统要把当前CPU寄存器的值(比如,指令寄存器,栈指针寄存器)写入线程 阅读全文
posted @ 2012-06-17 21:21 P_Chou 阅读(3812) 评论(0) 推荐(1)
 
 

2012年6月14日

【Windows】线程漫谈——线程栈
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。预备知识众所周知,线程在初始化时,系统会为其分配线程栈,用于局部变量、函数调用时的参数等。在开始讨论前,先交代一些背景知识。栈:一种先入后出的数据结构,push和pop是它典型的操作,对应“入栈”和“出栈”的术语。系统内存的分配机制:简单的说包括“预订”和“调拨”两个过程。预订并不真正分配物理存储器,只是对进程虚拟地址空间中的内存进行“预分配”,以使得这块内存不至于被当前进程的其他指令分配;调拨就是为预订的内存空间分配物理存储器(windows中物理存储器可能是物理内存,也可能是内存页交换文件)。 阅读全文
posted @ 2012-06-14 19:20 P_Chou 阅读(6488) 评论(2) 推荐(2)
 
 

2012年6月10日

【Windows】线程漫谈——线程基础
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。进程与线程理解线程是至关重要的,每个进程至少有一个线程,进程是线程的容器,线程才是真正的执行体,线程必然在某个进程的上下文中运行。进程拥有惰性,如果进程中所有的线程都已结束,那么进程也就没有存在的必要了。一个进程由如下两部分组成:1、一个进程地址空间;2、一个进程内核对象一个线程由如下两部分组成:1、一个线程栈;2、一个线程内核对象线程的开销要比进程少很多,所以在解决编程问题的时候尽量考虑在当前进程中创建线程而不是创建新的进程。然而,线程的切换需要消耗一定数量的CPU资源,因此,也不是说可以毫无顾 阅读全文
posted @ 2012-06-10 15:45 P_Chou 阅读(3669) 评论(3) 推荐(1)
 
 

2012年5月31日

ITIL(Infomation Technology Infrastructure Library) v3 摘要
摘要: 服务ITIL以“服务”来定义IT管理的最终目标。服务是在客户不承担特别的成本和风险的情况下,提供给客户价值的方法。服务可以给予“结果”或是去除“约束”。服务管理是以服务的形式提供给客户端一整套的组织能力。流程是整合资源和能力进行实施的一组协调性活动。流程七要素:目标,KPI,输入,输出,活动,资源,角色职能是专门执行某种类型的工作,并对所产生的特定结果负责的组织单元。RACI模型帮助定义角色和职责:Responsible、Accountable、Consulted、Informed服务生命周期 服务战略(Service Strategy):指导培养以战略的方式思考和执行的能力 服务设计(S.. 阅读全文
posted @ 2012-05-31 21:21 P_Chou 阅读(1881) 评论(0) 推荐(0)
 
 

2012年5月25日

.NET程序员的C情结(二)
摘要: C多文件编译、作用域和存储周期 所谓的编译,分为两个步骤:编译和链接编译有两个过程:a)预编译:处理#...的语句。#define的宏替换、#if条件编译、#include只是简单的把对应的文件内容复制到#include语句的位置b)单元源代码编译:随后编译器对每个cpp文件(在预编译阶段已经将#include的文件复制完成)单独编译成模块(.obj/.o等),在这个过程中除了语法检查外,还要在本cpp文件中检查调用函数或引用变量是否声明过。最后生成的模块开头会有一个符号表,其中包括了本模块定义的函数或变量在本模块中的偏移量;以及本模块引用的外部变量或函数(称为unsolved symbol. 阅读全文
posted @ 2012-05-25 15:31 P_Chou 阅读(733) 评论(0) 推荐(0)
 
 

2012年5月24日

.NET程序员的C情结
摘要: 即将两年的.NET经验,一年的BMC经验,作为一个电子专业的人来说,心中仍然保留着对C和C++的情结。最近项目空闲之余在看Windows Programming和Windows via C/C++,并且用C++为我们开发的类库制作安装程序,虽然只是简单的Windows C程序,但是那份成就感油然而生。本文记录开发这个小程序过程中的心得:1、基于对话框的windows程序虽然说标准的Windows程序总是由用户注册的窗口类开始的,并且程序员需要自己用while来接收应用程序消息队列里的消息,并处理。但是如果想要快速开发小程序的话,可以像下面这样基于对话框的来开始程序。对话框自动建立消息循环,接收 阅读全文
posted @ 2012-05-24 23:05 P_Chou 阅读(885) 评论(0) 推荐(0)
 
 

2012年5月20日

BMC AR 配置AREA LDAP
摘要: AR在外部认证方面使用的是插件的方式,AR在安装时自带安装插件服务,并且会安装一些内置的插件:比如AREA、ARDBC等。AR主服务与插件的交互主要通过插件服务完成。同时,AR的插件服务拥有完整的API,可以由第三方通过接口API来开发自定义的插件。在最近的一次部署AREA LDAP过程中,发现配置始终无法生效。经过艰苦卓绝的排查工作,最终找到了原因。首先看下AREA如何配置:Server Information->EA配置是很简单,但问题是不起作用,以下是艰难的排查经历:1. 在AR Server上安装Network Monitor检查是否有LDAP的请求包,发现没有;如果在这一步发现 阅读全文
posted @ 2012-05-20 16:22 P_Chou 阅读(670) 评论(0) 推荐(0)
 
 

2012年3月25日

BMC AR Mid-Tier使用其他版本的Tomcat
摘要: AR 7.6.04版本的Mid-Tier默认会安装Tomcat6.0,并以此作为web server使用,但是在项目实施中发现6.0版本并不稳定,表现为偶尔卡死,Atrium Explorer的图标经常显示不全,Tomcat内存占用始终1G左右。后来尝试使用Tomcat5.5版本,内存占用下降到350M左右,Atrium Explorer的图标也基本稳定显示了,下面简单介绍一下如何更换Tomcat... 阅读全文
posted @ 2012-03-25 09:40 P_Chou 阅读(791) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 5 6 7 下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3