- 博客(25)
- 资源 (34)
- 收藏
- 关注

原创 多进程、多线程、多核CPU——(I)
前言在介绍多线程时,首先分析进程、以及多道程序设计模型。进程是操作系统中最重要的抽象概念之一,使得在即使只有一个CPU的机器上,也支持(伪)并发,即将一个单独的CPU变成多个虚拟的CPU。多到程序设计在进程执行过程中常常会因为资源请求或者IO被阻塞或中断(有的请求或者中断需要处理很长时间),此时CPU便空闲出来,众所周知,CPU是计算机中非常宝贵的资源,为提高其利用率,操作系统需通过进
2014-05-02 16:23:36
57831
原创 C++泛型编程
写在前面: 0. 所谓泛型编程就是独立于任何特定类型的方式编写代码,使用泛型程序时,需要提供具体陈旭实例所操作的类型或者值。我们经常用到STL容器、迭代器、和算法都是泛型编程的例子;模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型; 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类
2016-08-18 13:22:06
2906
转载 linux:中显示每个进程正在哪个CPU上执行
linux:top中显示每个进程正在哪个CPU上执行运行top后,按1可以看见每个CPU上的繁忙情况以及IOWAIT。可是,我希望看到,到底哪个进程在哪个CPU上执行,到底是哪个进程导致IOWAIT很高。认真看man top,终于找到方法:执行top后,按f,按j,然后按空格退出,这样就出现一列#C,可以看见当前进程正在哪个CPU上执行了。按W(大写的W),将top的配
2014-08-11 12:46:32
1524
原创 用python 爬取网页图片
reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = imgre.findall(html)
2014-07-06 14:20:28
7800
原创 听创业故事的笔记
1、敢于直面自己对金钱的渴望;2、在关心市面上有什么的时候,更应该知道这个世界还没有什么,学习边缘创新;3、沿途获取帮助的能力,用最小的成本去整合身边的资源;4、总结前人的经验,找出规律,用于边缘创新;From :逻辑思维节目 2014年
2014-05-26 14:38:35
785
转载 IO - 同步,异步,阻塞,非阻塞
当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到
2014-05-16 16:09:56
768
原创 最新sogou 输入法 unbuntu安装指南(强烈推荐)
安装指南Ubuntu / Ubuntu Kylin 14.04 LTS 版本只需双击下载的 deb 软件包,即可直接安装搜狗输入法。Ubuntu 12.04 LTS 版本由于 Ubuntu 12.04 LTS 自带的 Fcitx 版本较旧,需要先通过 PPA 升级,才能安装下载的 deb 软件包。1. 点击左上角的图标打开Dash,输入update-ma
2014-05-14 09:42:03
1615
转载 Ubuntu应用程序创建桌面快捷方式
一、第一种方式1. 安装必要软件 gnome-panel sudo apt-get install --no-install-recommends gnome-panel [python] sudo apt-get install --no-install-recommends gnome-panel 2. 开始创建桌面快捷方式在terminal 中输入如下命令
2014-04-30 22:38:06
1141
原创 多线程与多核处理器 SMP 分析
多线程与多核技术分析:首先分析线程的优势:1、提高程序的并发性(线程级并行,而非指令级并行);2、一个进程内的所有线程共享所有资源;3、切换线程的代价下;4、交互式程序可以通过多线程方式改善响应时间。多线程实现的方式:1、程序采用多线程设计方案;2、多核处理器为单一的单线程程序提供了很好的平台,对其进行并行优化,是吸纳实现更好的程序运行效果。
2014-04-29 09:38:53
2828
原创 进程与线程的总结和区别
对于进程和线程的区别,很多面试或者笔试都有涉及到。我想很多朋友跟我一样,对他们都仅限于一些很粗很广的定义和区分,对于很多细节一下子回答出来还是有一定难度的。下面我将对进程和线程做一个系统的总结,供大家参考。如文中有不妥的地方,欢迎大家指正。一、 概念上区分程序:程序本身只是指令、数据及其组织形式的描述,是一个静态的概念。进程:进程是操作系统的基础,也是程序的基本执
2014-04-28 11:27:59
34000
转载 boost linux & windows plostform Install
——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。——更新于2013/3/20,增加ARM Linux下的编译配置方法。 理论上,本文适用于boost的各个版本,尤其是最新版本1.48.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,
2014-04-06 17:53:06
1121
原创 Linux 常用命令收录 -- 持续更新中(个人版)
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# ls
2014-04-03 09:42:31
1024
转载 static_cast、dynamic_cast、reinterdivt_cast、和const_cast
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast。3.1 static_cast用法:static_cast ( exdivssion ) 该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指
2014-02-06 10:42:01
866
转载 Hadoop 源码下载,编译,install,导入eclipse
1,准备好环境首现操作系统最好还是LINUX,WINDOWS上搞起来太麻烦JDK1.5必须的,最好JDK1.6也准备好。以备版本升级的时候需要用svn 1.5版本的或者以上的eclipse http://www.eclipse.org/ 上下载 ||| eclipse的svn插件ant http://ant.apache.org/ 下载ivy h
2013-11-21 16:17:50
3072
原创 经典排序算法的分类总结
在排序算法中,主要分为插入排序、选择排序、交换排序。插入排序: 直接插入排序、直接插入排序的升级版希尔排序;选择排序:简单选择排序、简单选择的升级版堆排序;交换排序:冒泡排序、冒泡排序的升级版快速排序。
2013-11-08 20:06:59
1107
转载 Linux 编程经典书籍推荐
成为一名精通 Linux 程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。Den
2013-11-08 19:46:47
826
原创 数组和指针的区别
一、指针和数组的区别组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。1、从编译器的角度进行区分指针在定义的时候,编译器并不会为指针所指向的对象分配内存空间,它只是分配指针变量的空间。除非以一个字符串常量对其进行初始化。下面的定义创建了一个字符串常量(为其分配了内存空间)ch
2013-11-05 20:34:50
1006
原创 TCP/UDP 详解 (可靠传输、流量控制、连接管理等核心章节的详解)
TCP/UDP 详解 (可靠传输、流量控制、连接管理等核心章节的详解) 一、 传输层概述1、传输层存在的必要性由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间,无法了解数据未达终点的状态。因此有必要增强网络层提供服务的服务质量。2、引入传输层的原因面向连接的传输服务与面向连接的网络服务类似,都分为建立连接、数据传输、释放连接三个阶段;编址、寻
2013-11-01 17:46:50
67235
1
转载 连接oracle数据库出现oracle ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式
今天使用PL/SQL远程连接oracle数据库出现oracle ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式。查了下原来之前改字符集时执行了:ALTER SYSTEM ENABLE RESTRICTED SESSION;导致受限解决办法:使用系统管理员身份运行以下一段代码ALTER SYSTEM DISABLE RESTRICTED SESSI
2013-10-31 10:38:48
2138
原创 ORACLE 字符的查看与修改 以utf8为例
1、查看数据库字符集 数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 会话字
2013-10-31 10:26:08
1447
Github cheat sheet
2014-12-08
memcached 详解与使用
2014-09-28
TCP与UDP协议详解
2013-11-01
程序员面试题精选100题-何海涛
2013-10-08
Google的C++编码规范
2013-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人