
linux
文章平均质量分 66
OracleJ
这个作者很懒,什么都没留下…
展开
-
linux线程知识
一、基本概念1、线程是计算机中独立运行的最小单位。进程是分配资源的单位。2、为什么使用多线程?(1)启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需原创 2012-01-08 21:54:26 · 2049 阅读 · 0 评论 -
linux hash_map
为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的转载 2012-03-18 10:19:37 · 4136 阅读 · 0 评论 -
C++中的hash_map——Linux下g++和Windows下VC++下头文件,命名空间
在Linux下g++的形式:头文件:: #include 命名空间:: using namespace __gnu_cxx; 使用上和map区别不大,差别主要在性能上。map采用红黑树的方式,而hash_map采用哈希的方法, 插入:: 所以map的插入和删除速率要比hash_map高,hash_map要做冲突处理。原创 2012-03-18 10:20:33 · 5513 阅读 · 1 评论 -
如何实现进程池
http://blog.youkuaiyun.com/guosha/article/details/3874998 有位站友问,如何在linux下实现进程池技术,原贴见:http://topic.youkuaiyun.com/u/20090206/16/b424e1c1-90dc-4589-a63f-1d90ed6560ae.html。之前虽对进程池这个名词早有耳闻,但一直没有真正接触过。乍一听好像有点复转载 2012-04-12 21:35:44 · 5949 阅读 · 0 评论 -
Linux环境进程间通信: 共享内存
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,转载 2012-05-01 17:00:11 · 725 阅读 · 0 评论 -
CComboBox控件详解
CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down list). CComboBox控件的常用设置属性说明: type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而dropl转载 2012-05-17 09:02:44 · 807 阅读 · 0 评论 -
VC++6.0 程序使用XP风格样式
1、实现原理: 微软为Windows XP提供了Themes服务。Themes可以让程序具有“XP风格”,看起来更美观,因为微软更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件。微软还为了保留传统的Windows界面风格,特地留下了Comctl32.dll v5.8。VC6的推出时间早于WinXP,因此VC6的程序默认是不使用“xp风格”的。 程序使用转载 2012-05-17 10:01:03 · 829 阅读 · 0 评论 -
WM_ERASEBKGND和WM_PAINT的深刻理解 .
一直以来,对于WM_PAINT和WM_ERASEBKGND消息不是很清楚,从书上和网上找了很多资料,大体上有以下几点说法:1>WM_PAINT先产生,WM_ERASEBKGND后产生2.WM_PAINT产生后,在调用BeginPaint时hdc = BeginPaint(hWnd, &ps); 如果ps.fErase为true,则BeginPaint会产生WM_ERASEBKGND转载 2012-05-17 14:47:47 · 1295 阅读 · 0 评论 -
mysql 限制
多少个数据库,是没有限制的,但是数据表的大小是有限制的.(前提是,这以前都要满足硬件的要求,文件的大小当然也不能超过操作系统支持的文件最大尺寸. 1:对于ISAM数据表,单个.ISD和.ISM文件的最大尺寸都是4GB 2:对于MyISAM数据表,单个.MYD和.MYI默认也是4GB,但是可以在创建数据表的时候,利用AVG_ROW_LENGTH和MAX_ROWS选项把这个最大值扩大到800万原创 2012-07-14 09:09:15 · 5629 阅读 · 0 评论 -
linux g++ 动态库
Linux下创建静态、动态库 源码 -----------a.cpp--------------- #include int a(int i) { printf("in a(int a) %d\n", i); return 0; } -----------b.cpp---------------- #include int原创 2012-03-08 14:27:41 · 1112 阅读 · 0 评论 -
linux 进程之间的比较和选择场合
1.# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正转载 2012-03-24 19:09:11 · 904 阅读 · 0 评论 -
采用多播传送FIX行情数据的推荐方案
多播传输技术通常被认为在分发大批量相同数据到大量接收者的一种非常有效的方式。在提供重要交易数据服务的金融组织中,该技术被广泛使用。IP多播网络提供一个支持将IP数据包转发给一组在多个位置的接收者的机制。IP单播网络支持将IP数据报发送给一个特定位置的单个接收者,而IP广播则支持将IP数据包发送给一个特定位置的所有接收者。IP多播网络优势的本质在于一个单一的IP数据包可以由一个服务产生,然后转载 2012-01-31 11:44:26 · 946 阅读 · 0 评论 -
linux 父子进程联系
由于linux是一个多用户的操作系统,在同一时间可能会有多个用户争夺系统资源,进程为了及时,及早的完成任务(得到系统资源)就创建了子进程来争夺系统资源。一旦子进程用fork()创建成功,父子进程就会一起从fork处继续执行【例1】,两个进程相互争夺系统资源。 我们希望子进程继续执行,这个时候就得让父进程挂起,直到子进程完成任务,那么在这种情况下我们就得用函数wait或者waitpid原创 2012-01-01 16:53:46 · 6858 阅读 · 0 评论 -
轮询(polling)
一个子进程要等待其父进程终止,则可使用下列形式的循环:while(getppid() != 1) sleep(1);这种形式的循环被称为了轮询(polling),这种处理方式是浪费了CPU时间,因为调用者每个1秒都被唤醒,然后进行条件测试。原创 2012-01-01 19:53:10 · 1818 阅读 · 0 评论 -
SUID,SGID,SBIT
前期准备:一,概念一个进程的 real user ID【实际用户ID】 是指运行此进程的用户角色的 ID【表示进程是哪个用户的】一个进程的 effective user 【有效用户ID】ID 是指此进程目前实际有效的用户 ID(也就是权限的大小),effective user ID 主要用来校验权限时使用,比如打开文件、创建文件、修改文件、kill 别的进程,等等【表示进程的权限】。原创 2012-01-03 20:56:39 · 2406 阅读 · 0 评论 -
linux 安装 oracle 常见问题
1.2问题1解决方法 要在图形界面下安装oracle,因此需要oracle用户能启动X(图形界面)。(1)以root用户身份执行su - xclock (2)执行xhost + (3)切换到oracle用户。su – oracle,再执行./runInstaller。1.3问题2描述执行./runInstaller时出现:准备从以下地址启动 Oracle Univers原创 2012-02-18 13:42:18 · 2026 阅读 · 0 评论 -
LINUX多播编程
一.单播,广播和多播1.单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。2.多播的概念: 1>多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收转载 2012-02-19 10:20:14 · 729 阅读 · 0 评论 -
centos 安装MySQL全过程
1、到chinaunix下载mysql 下载地址: http://download.chinaunix.net/download/0008000/7159.shtml 2、上传到CentOS服务器 本例放在 /home/jiangfeng3 中 3、创建mysql组及用户 [root@localhost ~]# groupadd mysql [r转载 2012-02-26 14:53:03 · 536 阅读 · 0 评论 -
linux mysql
[root@zzh /]# yum installlibtermcap-devel安装必要包[root@zzh /]# groupaddmysql建立mysql组用户[root@zzh /]# useradd -gmysql mysql建立mysql用户并-g加入组mysql原创 2012-02-26 14:50:45 · 791 阅读 · 0 评论 -
从另一个线程将recvfrom从阻塞状态唤醒
UDP的多线程程序,一般开一个线程循环调用recvfrom接收消息,当程序中止的时候,如果这个线程阻塞在recvfrom调用,并且没有消息到达,则这个线程无法终止,造成资源泄露等问题。这里终止这个线程有六种方法:1. 释放监听的fd,这个是最简单的方法,但是有一点要注意,就是close(fd)系统调用无效,必须要使用shutdown(fd, SHUT_RDWR)来将recvfrom唤醒,因转载 2012-02-28 12:51:26 · 2658 阅读 · 0 评论 -
Starting MySQL.Manager of pid-file quit without updating fi[失败]
之前机子装过mysql,所以可能存在遗留文件,我删除了/ect/my.cnf,然后,使用下面方法:rm -rf /var/lib/mysqlcd mysql scripts/mysql_install_db –user=mysql chown -R root . chown -R mysql datachgrp -R mysql . cp support-files/m原创 2012-02-28 14:46:33 · 3047 阅读 · 0 评论 -
linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2012-02-29 12:14:47 · 488 阅读 · 0 评论 -
select, poll和epoll的区别(转贴)
selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。select的一个转载 2012-03-01 10:27:40 · 631 阅读 · 0 评论 -
Unix下五种I/O模型
I/O复用:Select和Poll函数1.I/O模型a. Unix下共有五种I/O模型阻塞I/O非阻塞I/OI/O复用(select和poll)信号驱动I/O(SIGIO)异步I/O(Posix.1的aio_系列函数)b.阻塞I/O模型应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。如果数据没有准备好,一直等待。。。。数据准备转载 2012-03-01 11:21:12 · 554 阅读 · 0 评论 -
linux网络服务器模型
Linux系统网络服务器模型主要有两种:并发服务器和循环服务器。 所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻指可以响应一个客户端的请求。而且对于TCP和UDP套接字,这两种服务器的实现方式也有不同的特点。 1、TCP循环服务器: 首先TCP服务器接受一个客户端的连接请求,处理连接请求,在完成这个客户端的所有请求后断开连接,然后再接受转载 2012-03-05 12:15:52 · 637 阅读 · 0 评论 -
Nginx源码分析-connections数组
转载申明:本文可以任意转载,但需注明原文地址,谢谢! 本文的标题让我纠结了好久,不知道是connections数组合适,还是connections链表更合适;Nginx在此或多或少的注入了二者的特点,先不管是叫数组还是叫链表吧,只要能够弄明白这个connections是怎么回事就大功告成。Nginx的每个worker进程都使用一个相同的connections数组来维护每个连接。当有转载 2014-05-16 16:37:59 · 871 阅读 · 0 评论