自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

转载 libuv download

http://cpansearch.perl.org/src/TYPESTER/UV-0.24/deps/

2017-06-21 18:02:13 1086

转载 ARRAY_SIZE

以前修過一些通識課程,不能說沒有收穫,但現在只記得課程名稱,大概就是「藝術與人生」或「藝術導論」一類的,具體內容大概忘光了,然,這些訓練是否能讓工學院的學生,發揮藝術素養推廣到其他領域,值得商榷,但 Linux Kernel hackers 做到了。前幾天在 IRC 上聊到 LKML (Linux Kernel Mailing-List) 有一份由 Rusty Russell 所提交的 p

2017-06-21 17:12:12 4368

转载 libuv源码分析(2)

http://www.cnblogs.com/watercoldyi/p/5682344.html这一篇来分析libuv的四个特殊的持续请求(uv_handle_t族),uv_idle_t,uv_check_t,uv_prepare_t,uv_async_t。它们直接以强类型保存在uv_loop_t中,而不像其它的持续请求保存在handle_queue中,也是最简单的持续请求。在实现中

2017-06-21 17:07:20 668

转载 《Windows via C/C++》学习笔记 —— 设备I/O之“I/O完成端口”

《Windows via C/C++》学习笔记 —— 设备I/O之“I/O完成端口”  上一篇讲了3种接受异步I/O请求完成的通知的方法,分别是:通知一个设备内核对象、通知一个事件内核对象、告警I/O。  本篇主要讲另一种接受异步I/O请求的方法——I/O完成端口。这是性能最高,且扩充性最好的方法。但是实现比较复杂。   介绍I/O完成端口之前介绍两种服务器线程模型:连续模

2017-06-21 16:38:46 268

转载 Windows下性能最好的I/O模型——完成端口

Windows下性能最好的I/O模型——完成端口I/O模型——完成端口设计目的:  常见的网络通信分为两种:同步和异步。  在同步通信中,每一次接受数据都会导致主线程的挂起,从而阻塞住了其他操作。为了解决这一问题,我们通常会采取同步通信+多线程的策略,即为每一个连入的Socket分配一个线程。然而随着连入的Socket的数量的增加,线程的数量也在增加,这样CPU则需要不停地

2017-06-21 15:04:53 572

转载 SOCKET编程登峰造极之完成端口

一、什么是完成端口?完成端口---是一种WINDOWS内核对象。完成端口用于异步方式的重叠I/0情况下,当然重叠I/O不一定非使用完成端口不可,还有设备内核对象、事件对象、告警I/0等。但是完成端口内部提供了线程池的管理,可以避免反复创建线程的开销,同时可以根据CPU的个数灵活的决定线程个数,而且可以让减少线程调度的次数从而提高性能。 二、完成端口的内部机制1)创建完成端口完成

2017-06-21 14:50:29 430

转载 JSON标准格式

标准JSON的合法符号:{(左大括号)  }(右大括号)  "(双引号)  :(冒号)  ,(逗号)  [(左中括号)  ](右中括号)JSON字符串:特殊字符可在字符前面加 \ 或使用 \u 加 4位16进制数来处理[html] view plain copy {"name":"jobs"}  JSON布尔:必须小写的true和false

2017-06-19 17:20:45 2187

转载 JSON数组,JSON对象,数组的区别与基本操作整理

JSON 语法规则JSON 语法是 javascript 对象表示语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:"firstName":"John"JSON 值JSON 值可以是:数字(

2017-06-19 16:22:40 49189 2

转载 字符串匹配的Boyer-Moore算法 BM算法详解

字符串匹配的Boyer-Moore算法 BM算法详解2013-10-07 13:08 1295人阅读 评论(0)收藏举报分类: 奇淫技巧(14) 笔试面试精选(28) 算法之道(7) 作者: 阮一峰日期: 2013年5月 3日上一篇文章,我介绍了KMP算法。但是,它并不是效率最高的算法,实际采用

2017-06-19 11:59:47 293

转载 Unity项目使用静态图片做背景

https://segmentfault.com/a/1190000008505014问题Unity中常见的背景设置为固定颜色或者天空盒,如下图所示:天空盒可以设置背景材质,但是背景跟跟随摄像机镜头的变化而运动,不能做到固定下来思路使用两个摄像机,一个固定观察指定的图片,另一个观察三维场景,通过分图层来把两个摄像机的内容叠加显示在Game视图中解决方案新建摄像机

2017-06-16 17:14:47 11840

转载 TCP网络编程中connect()、listen()跟accept()三者之间的关系

基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下:connect()函数对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手,而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知 Linux 内核,让 Linux 内核自动完成 TCP 三次握手连接(三次握手详情,请看《浅谈 TC

2017-06-16 15:45:11 349

转载 pthread_cond_broadcast()

pthread_cond_timedwait()函数阻塞住调用该函数的线程,等待由cond指定的条件被触发(pthread_cond_broadcast() or pthread_cond_signal())。当pthread_cond_timedwait()被调用时,调用线程必须已经锁住了mutex。函数pthread_cond_timedwait()会对mutex进行【解锁和执行对条件

2017-06-16 11:59:08 4835

转载 图说函数模板右值引用参数(T&&)类型推导规则(C++11)

图说函数模板右值引用参数(T&&)类型推导规则(C++11)见下图:规律总结:只要我们传递一个基本类型是A④的左值,那么,传递后,T的类型就是A&,形参在函数体中的类型就是A&。只要我们传递一个基本类型是A的右值,那么,传递后,T的类型就是A,形参在函数体中的类型就是A&&。另外,模板参数类型推导是保留cv限定符(cv-qualifier,const和volat

2017-06-16 11:29:23 3930

转载 Linux Socket 事件触发模型 epoll 示例 这里会写一个用C语言的TCP服务器的完全实现的简单程序

背景介绍通常的网络服务器实现,是对每一个连接使用一个单独的线程或进程。对高性能应用而言,由于需要同时处理非常多的客户请求,所以这种方式并不能工作得很好,因为诸如资源使用和上下文切换所需的时间影响了在一时间内对多个客户端进行处理。另一个可选的途径是在一个单独的线程里采用非阻塞的I/O,这样当可以从一个socket中读取或写入更多数据时,由一些已经准备就绪的通知方式来告知我们。这篇文章介绍 L

2017-06-15 17:44:18 3422

转载 自己趟过epoll的坑

坑的背景本人用epoll来实现多路复用,epoll触发模式有两种:ET(边缘模式)LT(水平模式)LT模式是标准模式,意味着每次epoll_wait()返回后,事件处理后,如果之后还有数据,会不断触发,也就是说,一个套接字上一次完整的数据,epoll_wait()可能会返回多次,直到没有数据为止。ET模式也称高效模式,有数据过来后,epoll_wait()会

2017-06-15 17:41:13 12952 3

转载 epoll中et+多线程模式中很重要的EPOLL_ONESHOT实验

因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了。EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据,也就是触发EAGAIN errno时候,就应该重置EPOLL_ONESHOT的flag,这时候,新到的事件,就可以重新进入触发流程了。注:EPOLL_ONESHOT的原理其实是,每次

2017-06-15 17:25:53 966

转载 网络库多线程并发处理实现

boost中asio网络库多线程并发处理实现,以及asio在多线程模型中线程的调度情况和线程安全。时间:2014-08-12 00:34:33      阅读:854      评论:0      收藏:0      [点我收藏+] 标签:使用   os   io   数据   for   ar   art   问题   1、实现多线程方法:其实就是多个线程同时调用io

2017-06-15 16:54:49 893

转载 OpenGL 矩阵变换(讲的太好了~!)

Overview几何数据——顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex Operation)和基本组合操作改变这些数据。Object Coordinates对象的本地坐标系——任何变换之前的最初位置.为了变换(transformation)这些对象,可以调用glRotate(),g

2017-06-15 14:22:29 243

转载 非码农也能看懂的“机器学习”原理

非码农也能看懂的“机器学习”原理“机器学习”正成为各大IT砖家的口头禅,可他们到底是瞎忽悠还是真学术,若不是道儿上的人也很难辨明。于是,本文用一个买芒果的故事,轻松让你明白“机器学习”到底是怎么回事、有什么用。我们先来说个老生常谈的情景:某天你去买芒果,小贩摊了满满一车芒果,你一个个选好,拿给小贩称重,然后论斤付钱。自然,你的目标是那些最甜最成熟的芒果,那怎么选呢?你想起来,啊

2017-06-14 17:18:25 476

转载 reactor和proactor模式

reactor和proactor模式标签: aiojavaJavaJAVAproactorreactor设计模式2013-01-02 08:11 21177人阅读 评论(6)收藏举报分类: 设计模式(5) 版权声明:本文为博主原创文章,未经博主允许不得转载。首先分享一下,我在网上看到的两篇不错的文章:正是这两篇

2017-06-14 16:05:29 276

转载 两种高性能I/O设计模式(Reactor/Proactor)的比较

两种高性能I/O设计模式(Reactor/Proactor)的比较综述这篇文章探讨并比较两种用于TCP服务器的高性能设计模式。 除了介绍现有的解决方案,还提出了一种更具伸缩性,只需要维护一份代码并且跨平台的解决方案(含代码示例),以及其在不同平台上的微调。 此文还比较了java、c#、c++对各自现有以及提到的解决方案的实现性能。系统I/O 可分为阻塞型, 非阻塞同步型以及非阻塞异

2017-06-14 16:03:16 269

转载 SetFileCompletionNotificationModes FILE_SKIP_COMPLETION_PORT_ON_SUCCESS

SetFileCompletionNotificationModes functionSets the notification modes for a file handle, allowing you to specify how completion notifications work for the specified file.SyntaxC++

2017-06-14 15:23:39 483

转载 BindIoCompletionCallback多线程下效率不如单线程高.

BindIoCompletionCallback多线程下效率不如单线程高.2015-02-26 14:13:20分类: C/C++// IOCP_TCPIP_Socket_Server.cpp   #include "stdafx.h"#include "SafeLocker.h"  #include   #include #include #incl

2017-06-14 14:24:14 664

转载 IOCP机制与网络代理服务器实现方法

IOCP机制与网络代理服务器实现方法]IOCP是一种在Windows服务平台上比较成熟的I/O方法,针对大量并发客户[摘要摘要]请求问题,采用IOCP多线程控制模型建立高效网络代理服务器思想,能够较好地代理服务器中的多线程竞争问题。本文在比较基于该模型的两种编程方案的基础上,给出了基于Windows2000的网络代理服务器的设计与代理实现过程。关键词:完成端口重叠I/O多线程1

2017-06-14 14:13:11 409

转载 IOCP机制与网络代理服务器实现方法

请求问题,采用IOCP多线程控制模型建立高效网络代理服务器思想,能够较好地代理服务器中的多线程竞争问题。本文在比较基于该模型的两种编程方案的基础上,给出了基于Windows2000的网络代理服务器的设计与代理实现过程。关键词:完成端口重叠I/O多线程1、引言网络代理服务器的主要作用是将客户端的访问请求转发到远程服务端,并将应答信息回传给客户端。随着Internet应用的迅速

2017-06-14 12:00:41 554

转载 BindIoCompletionCallback

四、编写线程池回调函数: 在讨论扩展定义OVERLAPPED结构体时,给出了非线程池版的线程函数的大概框架,也就是传统IOCP使用的自建线程使用方式,这种方式要自己创建完成端口句柄,自己将SOCKET句柄绑定到完成端口,这里就不在赘述,主要介绍下调用BindIoCompletionCallback函数时,应如何编写这个线程池的回调函数,其实它与前面那个线程函数是很类似的。先来看看回调函数长

2017-06-14 11:50:07 1660

转载 Linux epoll 详解

最近,异想天开,想用D实现一个web服务器(似乎已经想这件事好久了,只不过之前是C++),自然而然得开始研究epoll。早就听说过epoll的大名,只不过网上的教程似乎没多少,并且感觉也没怎么把用法给讲完整。好在,通过几天的学习,也算是有所积累,因此想通过这篇post记录下,尽量把细节给讲清楚,希望它对各位有所价值。在linux平台下,epoll是异步阻塞的,真正异步非阻塞的是AIO,只不过据

2017-06-14 11:24:27 581

转载 Epoll实验总结

Epoll实验总结  2012-09-06 15:54:10|  分类: network_program |  标签:epoll  c   |举报 |字号 订阅         下载LOFTER我的照片书  | 一、超时实验建立一个阻塞模式的tcp连接到一个没有监听的服务端口(肯定连不上,然后等待超时)

2017-06-14 11:23:15 373

转载 彻底学会使用epoll(二)——ET和LT的触发方式

彻底学会使用epoll(二)——ET和LT的触发方式2014-06-03 22:34:18分类: LINUX分析了ET和LT的实现方式,那么分析他们的触发方式就容易多了。我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式(图中红线和蓝线),而ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(

2017-06-14 10:54:03 246

转载 epoll的ET和LT模式详解

epoll的ET和LT模式详解标签: socket工作buffer测试io任务2009-08-25 07:08 17825人阅读 评论(5)收藏举报分类: linux/unix服务器(121) Linux开发c/c++(203) 版权声明:本文为博主原创文章,未经博主允许不得转载。从man手册中,得到ET和

2017-06-14 10:52:57 511

转载 epoll基本原理及使用框架

epoll基本原理及使用框架epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready

2017-06-14 10:52:17 385

转载 Winsock 2 I/O Methods 5 Part 11

Winsock 2 I/O Methods 5Part 11  What do we have in this chapter 5 part 11?Testing the Client-server ProgramCompletion Ports and Overlapped I/OPer-handle Data and Per-I/O Operatio

2017-06-14 10:25:57 556

转载 向Shader中传递数据

【OpenGL】向Shader中传递数据传递顶点属性信息之前讲过,vertex shader会被每个顶点调用,通常一个顶点会包含很多信息,例如顶点坐标、顶点法向量、纹理坐标等等,我们称这些信息为顶点的属性。在之前的OpenGL版本里,每个属性都对应了一个特定的通道,我们使用glVertex,glTexCoord,,glNormal(或者通过访问指针函数glVertexPointer

2017-06-13 16:15:00 3236

转载 glBindAttribLocation GLSL,generic vertex attributes)

OpenGL进阶(十一) - GLSL4.x中的数据传递分类: 计算机图形学  |  作者: silangquan 相关  | 发布日期 : 2012-10-25  | 热度 : 304° in out       对于 vertex shader,每个顶点都会包含一次,它的主要工作时处理关于定点的数据,然后把结果传递到管线的下个阶段。       以前版本的GLS

2017-06-13 15:56:48 480

转载 使用VBO对glVertexAttribPointer的影响

使用VBO对glVertexAttribPointer的影响时间 2014-08-08 09:55:35 CSDN博客原文  http://blog.csdn.net/tom_221x/article/details/38434925 主题 OpenGL 在openGL中glVertexAttribPointer使用来上传顶点数据到显卡的方法。这里的

2017-06-13 15:47:19 573 1

转载 OpenGL ES3.0 《学习笔记 六》 Vertex Attributes, Vertex Arrays, and Buffer Objects

OpenGL ES3.0 《学习笔记 六》 Vertex Attributes, Vertex Arrays, and Buffer Objects由 wanggg 于 星期五, 2015-01-30 13:56 发表Vertex attributes:所有 OpenGL ES 3.0 的实现必须至少支持16个vertex attribute,实际支持的个数可以通过GL_MAX

2017-06-13 15:33:57 533

转载 第十三章 公告板与粒子系统 标签: ogre公告板粒子系统ogre粒子系统

【Ogre编程入门与进阶】第十三章 公告板与粒子系统标签: ogre公告板粒子系统ogre粒子系统2015-07-05 14:41 1365人阅读 评论(1)收藏举报分类: Orge模块(16) 版权声明:本文为博主原创文章,未经博主允许不得转载。13.1 公告板        公告板在多数的英文教程中译为

2017-06-13 11:47:46 909

转载 linux中使用select和epoll确定异步connect连接是否成功 标签: 网络编程服务器异步connectSO_ERRORsocket 2016-07-31 23:07 1008人阅读 评

linux中使用select和epoll确定异步connect连接是否成功标签: 网络编程服务器异步connectSO_ERRORsocket2016-07-31 23:07 1008人阅读 评论(2)收藏举报分类: 服务器开发日记(7) 版权声明:本文为博主原创文章,未经博主允许不得转载。服务器开发中网络编程

2017-06-13 10:32:45 854

转载 CODIS原理 之 数据迁移流程[2.X]

CODIS原理 之 数据迁移流程[2.X]分类:源码剖析设计思路 (1173) (0)作者:邹祁峰 邮箱:Qifeng.zou.job@hotmail.com 博客:http://blog.csdn.net/qifengzou日期:2016.08.03 10:42:40 转载请注明来自”祁峰”的CSDN博客CODIS有一个非常重要的特点就

2017-06-12 16:50:32 1593

转载 fseek函数、ftell函数和rewind函数

fseek函数、ftell函数和rewind函数2013-11-05 21:48 12198人阅读 评论(0)收藏举报分类: C/C++基础(46) 目录(?)[+]目 录1功 能2用 法3描 述4返回值5程序例6注意事项

2017-06-08 11:16:22 641

va可以使用,大家请放心使用,谢谢你们

va可以使用,大家请放心使用,谢谢你们,Visual Assist 10.9 -2302 版本可以使用

2019-02-25

d3d11 Render To Texture, RTT

渲染到贴图,使用Render To Texture, RTT, 渲染到纹理的详细代码

2019-02-19

显示uv坐标

unity显示uv坐标

2018-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除