linux学习之高并发服务器篇(二)

高并发服务器1.线程池并发服务器两种模型:预先创建阻塞于accept多线程,使用互斥锁上锁保护accept(减少了每次创建线程的开销)预先创建多线程,由主线程调用accept  线程池3.多路I/O转接服务器三种模型性能分析select模型select #include <sys/select.h> /* According to earlier standards */ #include <sy
阅读本文

spring-boot | 日志

理论知识  1、为什么要用日志?你是否因为项目出现问题,查找日志文件定位错误花费N多时间,是否为此苦不堪言。  2、Spring Boot 默认集成Logback。日志输出内容元素具体如下:  ·时间日期:精确到毫秒  ·日志级别:ERROR, WARN, INFO, DEBUG or TRACE  ·进程ID  ·分隔符:— 标识实际日志的开始  ·线程名:方括号括起来(可能会截断控制台输出
阅读本文

CodeForces - 893D 贪心

http://codeforces.com/problemset/problem/893/D 题意Recenlty Luba有一张信用卡可用,一开始金额为0,每天早上可以去充任意数量的钱。到了晚上,银行会对信用卡进行一次操作,操作有三种操作。 1.如果a[i]>0,银行会给卡充入a[i]元。 2.如果a[i]#include <map> #include <set> #include <cmath
阅读本文

委托内部

当声明一个委托,如下:delegate void Feedback(int value);编译器实际上定义了如下一个类: //所有创建的委托都继承自 MulticastDelegate 类 //而 MulticastDelegate 类继承自 Delegate class Feedback : MulticastDelegate { //从 Multi
阅读本文

C#多线程编程(1)--线程,线程池和Task

新开了一个多线程编程系列,该系列主要讲解C#中的多线程编程。    利用多线程的目的有2个: 一是防止UI线程被耗时的程序占用,导致界面卡顿;二是能够利用多核CPU的资源,提高运行效率。当一个会执行很长时间的程序,如从服务端获取数据,当该程序执行过程中,客户端一直处于等待状态,等待该程序执行完成,然后再执行其他代码。若是UI程序,用户会感到界面卡顿,影响使用体验。我们希望这样卡顿的程序能够“偷
阅读本文

Unity引擎与C#脚本简介

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~从原理上讲,游戏开发就是将一系列变动的场景呈现在玩家面前,并根据玩家的输入修改游戏画面;而游戏画面则是通过调用目标操作系统上的图形图像库来绘制的。比较知名的图形图像库有Windows上的DirectX,*nix系统、macOS和iOS等系统上用到的OpenGL以及Android用到的Vulkan等。一般来讲,底层的图形图像API只能进行最基
阅读本文

csredis base usage

Basic usage Whenever possible, server responses are mapped to the appropriate CLR type. using (var redis = new RedisClient(“yourhost“))//只需输入redis 服务器的ip 端口默认为 6379 { string ping = redis.Pin
阅读本文

八、通用类型系统

1、通用类型简介        CLR中的一切都围绕类型展开,因为IL是面向对象的高级机器语言.类型向应用程序和其他类型公开了功能.通过类型,用一种编程语言写的代码能与另一种编程语言写的代码沟通.由于类型是CLR的根本,所以MS制定了一个正式的规范来描述类型的定义和行为,这就是“通用类型系统“(Common Type System,CTS). 2、通用类型(CTS)规范CTS规范规定,一个类型可以
阅读本文

求学习规划指导

http://lvyou.baidu.com/plan/c20046fb9af7350d41458f23?3b=2018-01-27http://lvyou.baidu.com/plan/fe583b5ccddc6c766f403378?fjhttp://lvyou.baidu.com/plan/9463a8c2698330d277ea8285http://lvyou.baidu.com/plan
阅读本文

windbg将调试信息保存到文本文件

1. 可以在启动时直接用带 -logo的命令指定日志输出,具体步骤如下;(1)找到windbg所在路径;(2)用带-logo的命令启动调试工具    windbg.exe -logo d:logfile.txt 2.在一个已打开的debug session,可以用 .logopen来开始记录。具体步骤如下:(1)开启日志跟踪:.logopen d:debug_log.txt(2)执行调试命令:
阅读本文

利用windbg获取dump的dll文件

根据堆栈对应的地址查找其对应的Module ID,然后将对应的Module保存。!IP2MD 命令从托管函数中获取 MethodDesc 结构地址。!dumpmodule 1caa50 下面的命令显示有关在地址 1caa50 处的模块的信息。 !SaveModule 将加载到内存中指定地址的图像写入指定文件。 IP2MD帮助信息 0:000> !help IP2MD -------------
阅读本文

C# 引用类型和值类型

1、引用类型FCL(Framework)中的大多数类型都是引用类型,引用类型总是在托管堆中分配的,C#的new操作符会返回对象的内存地址,也就是指对象数据的内存地址。在使用引用类型时,存在以下性能问题,这是我们在开发中必须要注意的:a、内存必须从托管堆上分配(也就是说每new一个对象,会占用内存,对象过多就会导致内存占用)b、 堆上分配的每个对象都有一些额外的成员,这些成员必须初始化c、对象中的其
阅读本文

多线程学习笔记

一、Windbg的使用运行Windbg-->file->Attach to a Process 选择一个进程.loadby sos clr 首先需要加载sos和clr!threads 显示线程信息!teb 显示TEB信息 !dumpdomain 显示程序域!clrstack 查看当前的调用堆栈(首先需要点击线程的osid)点击线程的State可以查看线程的状态 !help 帮助命令 !Final
阅读本文

[转]HTTP协议详解

一、什么是HTTP协议  HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。二、HTTP协议的版本  HTTP协议的版本:HTT
阅读本文

C#图解教程第一章 C#和.NET框架

1.1 在.NET之前 C#发音:see shap 1.1.1 20世纪90年代后期的Windows编程  20世纪90年代后期各语言缺点:   1.纯Win32 API不是面向对象的,而且工作量比MFC的更发   2.MC是面向对象的,但是他却不一致,并逐渐变得陈旧   3.COM虽然概念上简单。但实际代码复杂,而且需要更多丑陋的,不雅的底层代码  共同缺点:   主要针对桌面程序而不是Inte
阅读本文

深入C#框架

1..net框架结构主要包含公共语言运行时(CLR)和框架类库(.NET Framework 类库 ,FCL)2.CLR1、对于一个将要面向.NET平台进行开发的人来说,了解一下.NET平台的整个构成是非常有必要的,如图1所示即说明了.NET平台的整体结构:  这个图就是著名的.NET平台结构图,从这个图上可以看到,.NET Framework是在Microsoft.NET 平台上开发的基础,A
阅读本文

x:ArrayExtension

<Window.Resources> <x:ArrayExtension x:Key=“array“ Type=“{x:Type sys:Int32}“> <sys:Int32>20</sys:Int32> <sys:Int32>21</sys:Int32> <sys:Int32>22</sys:Int32> </x:ArrayExt
阅读本文

计算机编程的24条法则

http://weibo.com/Pp_hdpd-39_psP/1001604185787930400385http://weibo.com/Pp_jb51-31_psP/1001604185787913623071http://weibo.com/Pp_5rj5-19_psP/1001604185787980732303http://weibo.com/Pp_vl73-11_psP/100160
阅读本文

php的cURL库介绍

cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。很多小偷程序都是使用这个函数。正文:cURL 是一种功能强大的库,支持很多不同的协议、选项,能提供 URL 请求相关的各种细节信息。启用 cURL 设置首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息。﹤?php phpinfo(); ?
阅读本文