上一页 1 ··· 7 8 9 10 11 12 13 下一页

2011年12月3日

读写者

摘要: 首先是读写者问题,这个允许多个读者同时读,然而当读者读的时候,写着不允许写;但多个读者可以同时doReading();而当写者写的时候,读者不允许读;int readCount = 0 , writeCount = 0 ; Semaphore wsem = 1 ; Semaphore mutex = 1 ; void Reader() { while(true) { // lock the mutex to avoid the consurrent modification of readCount ; wait(mutex) ; ... 阅读全文

posted @ 2011-12-03 21:02 evilying 阅读(344) 评论(0) 推荐(0) 编辑

2011年12月2日

SMP PVP Cluster

摘要: 高性能计算(HPC)服务器体系结构分类及特点目前常用的高性能计算服务器大致可以分为以下3种体系结构,即:1.并行向量处理机(PVP) PVP系统含有为数不多、功能强大的定制向量处理器(VP),以及定制的高带宽纵横交叉开关和高速数据访问。由于这类系统对程序编制的要求较高,价格很昂贵且难于管理,因此,这种类型计算机主要集中在一些大型国家关键部门,在本文中不再赘述。 2.对称多处理机(SMP) SMP系统采用商品化的处理器,这些处理器通过总线或交叉开关连接到共享存储器。今天市场上常见的机型有IBM p系列服务器、HPQ的SuperDome、Alpha的ES、GS系列及SGI公司的Altix系列。SM 阅读全文

posted @ 2011-12-02 22:36 evilying 阅读(969) 评论(0) 推荐(1) 编辑

回调函数

摘要: C 回调函数简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 为什么要使用回调函数? 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。 如果想知道回调函数在实际中有什... 阅读全文

posted @ 2011-12-02 19:22 evilying 阅读(514) 评论(0) 推荐(0) 编辑

线程模型

摘要: 为什么用户线程需要对应的内核线程?在可抢占内核里面-----线程使用系统调用,进入内核执行,如果这时发生线程切换,我们必须记录下当前的内核堆栈情况.这样可以保证每个用户态线程独立的使用内核功能(使用系统调用).内核线程内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。支持多线程的内核叫做多线程内核(Multi-Threadskernel)。轻量级进程轻量级进程(LWP)是一种实现多任务的方法。与普通进程相比,LWP与其他进程共享所有(或大部分)它的逻辑地址空间和系统资源;与 阅读全文

posted @ 2011-12-02 16:18 evilying 阅读(261) 评论(0) 推荐(0) 编辑

2011年12月1日

因特网中和多媒体有关的协议

摘要: 因特网中和多媒体有关的协议 1、RTP协议(实时运输协议)在1025-65535中选一个未使用的偶数UDP端口,而在同一次会话中RTCP使用下一个奇数UDP端口号,但5004、5005分别用作RTP、RTCP的默认端口号。2、RTCP(实时运输控制协议)RTP分组只包含数据,控制由另一个配套使用的RTCP协议来提供。3、RTSP(实时流式协议)音频和视频多媒体数据是封装在RTP分组中传送,而RTCP保证服务质量,RTSP仅仅是使媒体播放器能控制多媒体的传送。因而RTCP又称为带外协议,而多媒体流是使用RTP在带内传送的。故RTSP有点像FTP中的控制信道。RTSP语法和操作与HTTP协议的相. 阅读全文

posted @ 2011-12-01 21:38 evilying 阅读(788) 评论(0) 推荐(0) 编辑

进程与线程

摘要: 进程是处于运行之中的程序,具有一定的独立能力,它是系统进行资源分配和调度的一个独立单位。几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。进程的特征:①独立性:进程是系统中独立存在的实体,可以拥有自己独立的资源,每个进程都拥有自己的私有地址;②动态性:进程和程序的区别在于: ①程序只是一个静态的指令序列集合(可执行文件),是一个被动的实体,而进程是一个正在系统中活动的指令集合; ②在程序中加入了时间的概念,而进程是活动的实体,具有自己的生命周期和各种不同的状态,拥有P.. 阅读全文

posted @ 2011-12-01 20:40 evilying 阅读(420) 评论(0) 推荐(0) 编辑

2011年11月25日

pthread_cond_wait()

摘要: /************pthread_cond_wait()的使用方法**********/ pthread_mutex_lock(&qlock); pthread_cond_wait(&qready, &qlock); pthread_mutex_unlock(&qlock);/*****************************************************/The mutex passed to pthread_cond_wait protects the condition.The callerpasses it locked 阅读全文

posted @ 2011-11-25 14:02 evilying 阅读(16606) 评论(1) 推荐(3) 编辑

堆与栈的区别

摘要: 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 - 程序结束后由系统释放。 4、文字常量区 —常量字符 阅读全文

posted @ 2011-11-25 13:57 evilying 阅读(258) 评论(0) 推荐(0) 编辑

环境变量

摘要: 环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些软件程序使用此信息确定在何处放置文件(如临时文件). 环境变量说白了就是指定一个软件的路径,比如说配置TomcatJdk等软件时就必须设置环境变量。方法如下: 点击我的电脑然后按右键——属性——高级——环境变量——新建——名称/路径。 环境变量是包含诸如驱动器、路径或文件名之类的字符串。环境变量控制着多种程序的行为。例如,TEMP 环境变量指定程序放置临时文件的位置。 任何用户都可以添加、修改或删除用户的环境变量。但是,只有管理员才能添加、修改或删除系统环境变量。 使用“控制面板”中的“系统”可以自定义下列变量: 用于 logged_ 阅读全文

posted @ 2011-11-25 13:48 evilying 阅读(381) 评论(0) 推荐(0) 编辑

操作系统中的同步、异步、阻塞和非阻塞

摘要: 在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin,isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的LRESULT值返回给调用者。 异步 异步的概念和同步相对。当一... 阅读全文

posted @ 2011-11-25 13:44 evilying 阅读(5588) 评论(1) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 下一页

导航