上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 93 下一页
摘要: 按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。 一.基础知识:线程和进程 按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。 无... 阅读全文
posted @ 2012-02-16 22:40 dzqabc 阅读(619) 评论(0) 推荐(0)
摘要: 1.微软针对这个问题发布了一个补丁包。下载地址 2.下载之后是一个源码包,解压,编译,生成一个FileTool.dll。 3.将生成的dll拷贝到VC安装目录的“\Common\MSDev98\AddIns\”文件夹下。 4.在AddIns目录下执行命令“regsvr32 File Tool.dll”手动注册dll文件。 5.运行VC6,右击工具栏,选择“自定义…>附加项和宏文件”,选择F... 阅读全文
posted @ 2012-02-16 22:33 dzqabc 阅读(425) 评论(0) 推荐(0)
摘要: 函数简介 函数pthread_join用来等待一个线程的结束。函数原型为: extern int pthread_join (pthread_t__th, void **__thread_return); 第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数,调用它的函数将一直等待到被等待的线程结束为止... 阅读全文
posted @ 2012-02-16 22:25 dzqabc 阅读(799) 评论(0) 推荐(1)
摘要: 头文件 #include <pthread.h> 函数原型 pthread_t pthread_self(void); 函数作用:获得线程自身的ID。pthread_t的类型为unsigned long int,所以在打印的时候要使用%lu方式,否则将产生奇怪的结果。 功能 获取当前调用线程的 thread identifier(标识号). 阅读全文
posted @ 2012-02-16 22:11 dzqabc 阅读(2125) 评论(1) 推荐(0)
摘要: 函数简介pthread_create是UNIX环境创建线程函数头文件#include函数声明int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),... 阅读全文
posted @ 2012-02-16 21:57 dzqabc 阅读(533) 评论(0) 推荐(1)
摘要: BC3提供了使用脚本进行merge的方法,下面是个简单的例子!它让你可以做任意两个目录间的合并,对于版本控制工具的合并功能不强或需要同步两个目录之类的场景很合适! 我用它来解决SVN库内容之间合并的问题。 文件syncMerge.txt的内容(调用方法就是第二行注释符后面的语句,当然得先装BC3!): #svnserve -d -r d:\svn_repository #"C:\Progr... 阅读全文
posted @ 2012-02-16 21:52 dzqabc 阅读(1956) 评论(0) 推荐(0)
摘要: 为什么(3 个原因)以及如何使用硬(相对于软)CPU 亲和性(affinity) Eli Dow (emdow@us.ibm.com), 软件工程师, IBM Linux Test and Integration Center 简介: 了解 Linux® 2.6 调度器如何处理 CPU 亲和性(affinity)可以帮助您更好地设计用户空间的应用程序。软亲和性(affinity) 意味着进... 阅读全文
posted @ 2012-02-16 21:46 dzqabc 阅读(646) 评论(0) 推荐(0)
摘要: 1. 在Linux下,如何确认是多核或多CPU: #cat /proc/cpuinfo 如果有多个类似以下的项目,则为多核或多CPU: processor : 0 ...... processor : 1 2. Linux下,如何看每个CPU的使用率: #top -d 1 之后按下1. 则显示多个CPU Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 9... 阅读全文
posted @ 2012-02-16 21:38 dzqabc 阅读(9949) 评论(0) 推荐(0)
摘要: CPU亲合力就是指在Linux系统中能够将一个或多个进程绑定到一个或多个处理器上运行.一个进程的CPU亲合力掩码决定了该进程将在哪个或哪几个CPU上运行.在一个多处理器系统中,设置CPU亲合力的掩码可能会获得更好的性能.一个CPU的亲合力掩码用一个cpu_set_t结构体来表示一个CPU集合,下面的几个宏分别对这个掩码集进行操作: ·CPU_ZERO() 清空一个集合 ·CPU_SET()与CPU_CLR()分别对将一个给定的CPU号加到一个集合或者从一个集合中去掉. ·CPU_ISSET()检查一个CPU号是否在这个集合中.下面两个函数就是用来设置获取线程CPU 阅读全文
posted @ 2012-02-15 21:39 dzqabc 阅读(11979) 评论(2) 推荐(1)
摘要: 假设业务模型中耗费cpu的分四种类型,(1)网卡中断(2)1个处理网络收发包进程(3)耗费cpu的n个worker进程(4)其他不太耗费cpu的进程基于1中的 负载均衡是针对进程数,那么(1)(2)大部分时间会出现在cpu0上,(3)的n个进程会随着调度,平均到其他多个cpu上,(4)里的进程也是随着调度分配到各个cpu上;当发生网卡中断的时候,cpu被打断了,处理网卡中断,那么分配到cpu0上的worker进程肯定是运行不了的其他cpu上不是太耗费cpu的进程获得cpu时,就算它的时间片很短,它也是要执行的,那么这个时候,你的worker进程还是被影响到了;按照调度逻辑,一种非常恶劣的情况是 阅读全文
posted @ 2012-02-15 21:17 dzqabc 阅读(12133) 评论(2) 推荐(1)
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 93 下一页