随笔分类 - [00]c#编程
摘要:异步IO
非阻塞式同步IO
基于回调的异步IO并发
阅读全文
摘要:客户端发送数据
通过广域网局域网发送到服务端机器网卡缓冲区上
网卡驱动对CPU发送中断指令
CPU把数据拷贝到内核缓冲区
CPU再把内核缓冲区的数据拷贝用户缓冲区,上面的receive字节数组。
阅读全文
摘要:接上篇探索c#之尾递归编译器优化累加器传递模式(APS)CPS函数CPS变换CPS尾递归总结累加器传递模式(Accumulator passing style)尾递归优化在于使堆栈可以不用保存上一次的返回地址/状态值,从而把递归函数当成一个普通的函数调用。递归实际上是依赖上次的值,去求下次的值。 如...
阅读全文
摘要:C#/64位/Release是有JIT编译器进行尾递归优化的(非C#编译器优化)。
C#/32位或C#/Debug模式中JIT是不进行优化的。
简单的尾递归优化成while循环,
复杂的尾递归,F#编译会生成IL指令Tail进行优化
阅读全文
摘要:介绍发现纯写技术蛮无趣枯燥的,也不连贯,就突发奇想,在博客中加些生活的乐趣。主题呢就是讲一个程序员小菜鸟的学习成长,技术博客都融入到其中。背景如下:地点:平行世界中魔都一家公司,喵喵小菜鸟一枚,大四实习妹纸。蘑菇一神秘男子,人物纯属虚构。正文喵喵:蘑菇,三层架构是什么东东?蘑菇:简单来说,为了降低U...
阅读全文
摘要:阅读目录:基础自旋锁示例SpinLock继续SpinLock总结基础内核锁:基于内核对象构造的锁机制,就是通常说的内核构造模式。用户模式构造和内核模式构造 优点:cpu利用最大化。它发现资源被锁住,请求就排队等候。线程切换到别处干活,直到接受到可用信号,线程再切回来继续处理请求。 缺...
阅读全文
摘要:最近项目使用中要改造redis客户端,看了下文档,总结分享一下。阅读目录:协议规范基础通信状态命令set、get命令管道、事务总结协议规范redis允许客户端以TCP方式连接,默认6379端口。传输数据都以\r\n结尾。请求格式*\r\n$\r\n\r\n例:*1\r\n$4\r\nINFO\r\...
阅读全文
摘要:本章主要介绍下基于内核模式构造的线程同步方式,事件,信号量。阅读目录:理论WaitHandleAutoResetEventManualResetEvent总结理论Windows的线程同步方式可分为2种,用户模式构造和内核模式构造。内核模式构造:是由Windows系统本身使用,内核对象进行调度协助...
阅读全文
摘要:上章主要讲排他锁的直接使用方式。但实际当中全部都用锁又太浪费了,或者排他锁粒度太大了,本篇主要介绍下升级锁和原子操作。阅读目录volatileInterlockedReaderWriterLockSlimvolatile简单来说volatile关键字是告诉c#编译器和JIT编译器,不对volat...
阅读全文
摘要:平常在多线程开发中,总避免不了线程同步。本篇对net多线程中的锁系统做个简单描述。阅读目录:lock、Monitor作用域范围字符串锁Monitor的用法MutexSemaphore总结lock、MonitorLock是Monitor语法糖简化写法,Lock在IL会生成Monitor。 ...
阅读全文
摘要:介绍如果说函数是程序中的基本模块,代码段,那高阶函数就是函数的高阶(级)版本,其基本定义如下:函数自身接受一个或多个函数作为输入。函数自身能输出一个函数,即函数生产函数。满足其中一个条件就可以称为高阶函数。高阶函数在函数式编程中大量应用,c#在3.0推出Lambda表达式后,也开始逐渐使用了。阅读目...
阅读全文
摘要:NewsDecember 06 2014: Version 1.0.0.8Add Register RouteConfigurationiis 7 Integrated Mode: iis 6 Register Service and Route on Global.a...
阅读全文