01 2015 档案

摘要:介绍发现纯写技术蛮无趣枯燥的,也不连贯,就突发奇想,在博客中加些生活的乐趣。主题呢就是讲一个程序员小菜鸟的学习成长,技术博客都融入到其中。背景如下:地点:平行世界中魔都一家公司,喵喵小菜鸟一枚,大四实习妹纸。蘑菇一神秘男子,人物纯属虚构。正文喵喵:蘑菇,三层架构是什么东东?蘑菇:简单来说,为了降低U... 阅读全文
posted @ 2015-01-25 15:28 蘑菇先生 阅读(3005) 评论(7) 推荐(6) 编辑
摘要:阅读目录:基础自旋锁示例SpinLock继续SpinLock总结基础内核锁:基于内核对象构造的锁机制,就是通常说的内核构造模式。用户模式构造和内核模式构造 优点:cpu利用最大化。它发现资源被锁住,请求就排队等候。线程切换到别处干活,直到接受到可用信号,线程再切回来继续处理请求。 缺... 阅读全文
posted @ 2015-01-24 20:41 蘑菇先生 阅读(8983) 评论(7) 推荐(2) 编辑
摘要:介绍在实际项目使用中quartz.net中,都希望有一个管理界面可以动态添加job,而避免每次都要上线发布。也看到有园子的同学问过。这里就介绍下实现动态添加job的几种方式, 也是二次开发的核心模块。阅读目录:传统方式框架反射方式进程方式URL方式框架配置方式传统方式继承IJob,实现业务逻辑,添加... 阅读全文
posted @ 2015-01-19 08:42 蘑菇先生 阅读(25300) 评论(40) 推荐(27) 编辑
摘要:介绍在实际使用quartz.net中,持久化能保证实例重启后job不丢失、 集群能均衡服务器压力和解决单点问题。quartz.net在这两方面配置都比较简单。持久化quartz.net的持久化,是把job、trigger一些信息存储到数据库里面,以解决内存存储重启丢失。下载sql脚本 htt... 阅读全文
posted @ 2015-01-18 15:17 蘑菇先生 阅读(21517) 评论(25) 推荐(15) 编辑
摘要:最近项目使用中要改造redis客户端,看了下文档,总结分享一下。阅读目录:协议规范基础通信状态命令set、get命令管道、事务总结协议规范redis允许客户端以TCP方式连接,默认6379端口。传输数据都以\r\n结尾。请求格式*\r\n$\r\n\r\n例:*1\r\n$4\r\nINFO\r\... 阅读全文
posted @ 2015-01-12 08:55 蘑菇先生 阅读(28087) 评论(6) 推荐(15) 编辑
摘要:本章主要介绍下基于内核模式构造的线程同步方式,事件,信号量。阅读目录:理论WaitHandleAutoResetEventManualResetEvent总结理论Windows的线程同步方式可分为2种,用户模式构造和内核模式构造。内核模式构造:是由Windows系统本身使用,内核对象进行调度协助... 阅读全文
posted @ 2015-01-10 08:45 蘑菇先生 阅读(10087) 评论(3) 推荐(7) 编辑
摘要:本篇主要介绍下楼主平常项目中,缓存使用经验和遇到过的问题。阅读目录:基本写法缓存雪崩全局锁,实例锁字符串锁缓存穿透再谈缓存雪崩总结基本写法为了方便演示,这里使用Runtime.Cache做缓存容器,并定义个简单操作类。如下: public class CacheHelper { ... 阅读全文
posted @ 2015-01-04 08:36 蘑菇先生 阅读(37794) 评论(106) 推荐(134) 编辑
摘要:上章主要讲排他锁的直接使用方式。但实际当中全部都用锁又太浪费了,或者排他锁粒度太大了,本篇主要介绍下升级锁和原子操作。阅读目录volatileInterlockedReaderWriterLockSlimvolatile简单来说volatile关键字是告诉c#编译器和JIT编译器,不对volat... 阅读全文
posted @ 2015-01-01 23:16 蘑菇先生 阅读(9698) 评论(4) 推荐(2) 编辑