原创 Csharp線程

CSharpe線程 目錄CSharpe線程C#如何操作線程Thread1. Thread如何開啓一個線程呢?2. Thread中常見的API3. thread的擴展封裝threadpool一、 .NET Framework2.0時代:出現了

原创 Csharp中表達式樹

Csharper中的表達式樹 這節課來了解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢

原创 Csharp學習Linq

Linq的學習 這裏繼續使用之前文章創建的學生類,首先簡單介紹一下linq的使用。 Student.cs public class Student { public int Id { get; set; } publ

原创 CSharp的lambda表達式匿名類擴展方法

c#的lamba表達式 之前已經寫過一些關於委託還有事件的文章,今天就來介紹一下lambda表達式。 首先定義需要的函數以及委託 { public delegate void DoNothingDelegate(); public dele

原创 C#事件(event)的理解

一、多播委託的應用--觀察者模式 遇到一個開發的問題? 面試者:以面向對象的思想實現一下的場景: 貓:Miao一聲,緊接着引發了一系列的行爲~ Miao:引發了一系列的動作; 從代碼層面來說:代碼這樣寫好嗎? 貓職責不單一(貓就是貓,他的

原创 VT-X的學習歷程(一)

學習的目標 就是如何實現一個簡單VT框架並攔截指令的調用以及EPTHOOK的實現。 大概的流程 檢測是否允許開啓VT。 a. 我們可以從白皮書的24.6 DISCOVERING SUPPORT FOR VMX章節中得到這樣的信息 b.

原创 特性的學習

特性 在C#的編程過程之中,我們可以發現特性是無處不在的,那麼什麼是特性那? 什麼是特性? 特性其實就是一個類(class),聲明的時候,默認以Attribute結尾,直接或者間接的繼承Attribute抽象類。 當我們應用特性的時候,是

原创 一個簡易的ORM框架的實現(二)

框架目標 什麼是框架,框架能做到什麼? 把一個方向的技術研發做封裝,具備通用性,讓使用框架的開發者用起來很輕鬆。 屬性: 通用性 健壯性 穩定性 擴展性 高性能 組件化 跨平臺 從零開始-搭建框架 建立項目 主鍵查詢功能開發 綁定實體

原创 一個簡易的ORM框架的實現(一)

一個簡易的ORM框架的實現 ORM ORM---操作數據庫---對象關係映射 ORM(Object Relational Mapping)框架採用元數據來描述對象與關係映射的細節。只要提供了持久化類與表的映射關係,ORM框架在運行時就能參照

原创 UDP、IMCP、ARP協議通過netmap解析的實現。

上一篇文章我們講了一個異步的線程池大概需要如何去實現,現在的話,我們如何來解析一個UDP的包。 環境的搭配 這個環境的問題困擾了很久,這個netmap已經不再更新了,支持Ubuntu16.04-Ubuntu18.04的系統內核,我們需要按照

原创 異步請求池的實現

今天分享一個異步請求池的例子。 首先我們先看一個正常的阻塞的DNS解析的例子。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>

原创 UDP可靠傳輸協議KCP的一些理解

UDP主要用在哪兩個方面 遊戲 音視頻通話 爲什麼要使用UDP? 實時性的考慮,丟包重傳,TCP協議棧重傳無法控制,UDP重發可以自定義策略。 在DNS查詢的時候,也使用UDP,對資源的考慮。 如何做到可靠性連接? ack機

原创 posix API的一些理解

TCP Posix API的理解 我們主要從TCP連接講解整個的流程。 連接的建立 消息的收發 連接的斷開 連接的建立 先看一下一個TCP server的創建過程。 #include<stdio.h> #include<sys/sock

原创 一些網絡編程方面的總結,以及redis、memcache、nginx組件的一些介紹

網絡編程主要關注的一些問題 主要關注3個方面的問題 連接的建立 連接的斷開 消息的發送和到達 連接的建立 主要分爲兩種情況:服務器處理接受客戶端的連接;服務端作爲客戶端的連接第三方服務; //這是服務端接受客戶端連接的時候;(三次握手完

原创 websocket服務器的創建

內容等待添加