各行各业 - 军军小站|张军博客
各行各业

第二人生的源码分析(四十)创建多个工作线程

多线程的程序是比较常见的,更何况是网络程序。随着多核CPU的发展,想提高程序的性能,只能靠多线程工作了。下面就带你看看第二人生是怎么创建多线程工作的,每个线程又是做什么样的工作。由于线程类是主动类,线程的工作结构就是程序的工作结构了,写一个好的程序,往往就是线程类的结构安排,也就是整个程序的架构实现。并且每个线程之间的交互,都需要小心地进行着,一着不慎就全盘皆输,造成多个线程之间死锁的出现,因此写多线程程序,总要如履薄冰,小心翼翼。#001boolLLAp

系统 2019-08-12 01:32:49 2008

各行各业

Git链接到自己的Github(1)简单的开始

好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化。1、在ubuntu中安装git$sudoapt-getinstallgitgit-core2、配置本机的git$gitconfig--globaluser.name"abcd"$gitconfig--globaluser.emailabcd@efgh.com3、生成密钥$ssh-keygen-trsa-C"abcd@efgh.

系统 2019-08-12 09:27:41 2007

各行各业

Memcache使用基础

Memcached的特点:协议简单基于libevent的事件处理内置内存存储方式memcached不互相通信的分布式1.协议简单:使用简单的基于文本的协议,因而通过telnet也能在memcached上保存数据、取得数据2.基于libevent:将Linux等操作系统事件处理功能封装成统一的接口,能在Linux、BSD等操作系统上发挥其高性能3.内置内存存储方式:为了提高性能,memcached中保存的数据都存储在memcached内置的存储空间中,如果内

系统 2019-08-12 01:31:51 2007

各行各业

GitHub--git push出错解决

当使用GitHub进行代码push是,出现了下面的错误,该如何是好?错误描述:![rejected]master->master(non-fast-forward)error:failedtopushsomerefsto'git@github.com:Willido/First.git'Topreventyoufromlosinghistory,non-fast-forwardupdateswererejectedMergetheremotechanges

系统 2019-08-12 09:27:39 2006

各行各业

Opencv笔记(1) 命名规则数据结构(CvMat,...)

网上搜索了很多,检查中发现的信息劣势,检查源代码同Cv为类的开始。包含详细的数据不(仅存储指针)CvMattypedefstructCvMat{inttype;intstep;/*forinternaluseonly*/int*refcount;inthdr_refcount;union{uchar*ptr;short*s;int*i;float*fl;double*db;}data;#ifdef__c

系统 2019-08-12 09:27:26 2006

各行各业

ImageSource使用心得

很多时候,我们会使用图片来装饰UI,比如作为控件背景等。而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片对于这两种形式的图片,在WPF中,使用方法不同,下面主要说明针对这两种形式图片的使用方法一、存在于本地文件系统中的图片文件对于此类图片,使用非常简单,在xaml中直接指定路径即可,如:1
各行各业

在apache上报错“The _imaging C module is not

我的环境是python2.7.8、django1.6.4、apache2.2。问题:在django自带的runserver环境下没有任何报错,但是配置在apache上出现了“The_imagingftCmoduleisnotinstalled”的报错。找了很久原来是因为importImage的时候PIL包在window底下的貌似是二进制的类似问题,需要下载Pillow的对应whl文件进行修补,下载链接:http://www.lfd.uci.edu/~goh

系统 2019-08-12 09:26:52 2006

各行各业

win下 bundle install 显示json安装错误解决办法

环境:win7,ruby1.9.3p392(鄙视我吧,在win下弄rails不是找死么,只是有时候懒得切linux罢了,好吧只是偶尔要用到win还是希望它能跑起来。)错误:在一个railsproject中运行bundleinstall(或是搭建octopress博客时运行bundleinstall时)其他的gem都能正确安装,唯独到json这里出了莫名其妙的错误=。=如下:Installingjson(1.7.7)Gem::Installer::Exten

系统 2019-08-12 01:33:24 2006

各行各业

如何打开注册表编辑器

1.方法一:开始--运行中输入regedit2.方法二:在Windows目录下找到regedit.exe,直接双击注册表是为Windows中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95下,它们的程序仍然会参考win.ini和

系统 2019-08-12 01:32:46 2006

各行各业

安装程序发布利器——InstallShield 2011 Limit

最近经常写WCF服务和Windows服务,之前知道可以通过vs2010自带的“安装项目”可以发布程序,但是自vs2010起,同时提供了InstallShieldLE。下面我们通过图示,来了解InstallShieldLE的特性:2011LimitedEdition"src="http://img.it610.com/image/product/ee1033fcaa56404faae50d31e3d1c640.jpg"alt="安装程序发

系统 2019-08-12 01:31:51 2006

各行各业

EBP与ESP寄存器的使用

pushebpmovesp,ebpesp是堆栈指针ebp是基址指针这两条指令的意思是将栈顶指向ebp的地址---------------------------------------------------------------例如:pushebp;ebp入栈movebp,esp;因为esp是堆栈指针,无法暂借使用,所以得用ebp来存取堆栈subesp,4*5;下面的wsprintf一共使用了5个参数,每个参数占用4个字节,所以要入栈4*5个字节pus

系统 2019-08-12 09:27:15 2005

各行各业

[导入]Web Client Software Factory系列(2):

摘要:使用CompositeWeb应用程序块的好处是能够将一个主站点拆分为多个独立的模块,每个模块负责主站点中一个目录及其所有内容。多个开发人员分别独立负责不同的模块而不会相互干涉。阅读全文TerryLee2007-11-2620:23发表评论文章来源:http://www.cnblogs.com/Terrylee/archive/2007/11/26/Web-Client-Software-Factory-Web-Composite-Applicatio

系统 2019-08-12 09:26:57 2005

各行各业

ffmpeg + sdl -03 简单音频播放器实现

没办法,工作中遇到了问题。目前NECEMMA的架构如下:从USB读入文件->文件分析并提取Packet中的PayloadData->NECHANDLEAVTransfer->NECHANDLEWMV->AUDIOOUTPUT按照驱动的API写好代码后却怎么也没有声音,所有API返回值均OK。郁闷开始了。继续绝望中寻找希望。为了对比调试,参考http://blog.csdn.net/ashlingr/article/details/7791321并做了一些f

系统 2019-08-12 09:26:42 2005

各行各业

1025:统计硬币

题目描述假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。输入格式输入数据第一行有一个正整数T,表示有T组测试数据。接下来的T行,每行有两个数n,m,n和m的含义同上。输出对于每组测试数据,请输出可能的组合方式数,每组输出占一行。样例输入23548样例输出12本题的思路类似于鸡兔同笼问题,所以不难想到使用几个for循环对可能值进行穷举,下面是我写的一个算法,在穷举上略有优化。1#inclu

系统 2019-08-12 09:27:33 2004