摘要:
1、线程与进程的区别联系2、进程通信方式有哪些?3、同步的方式有哪些?4、ThreadLocal与其它同步机制的比较5、进程死锁的条件第一题:(1)线程是进程的一个实体,一个进程可以拥有多个线程,多个线程也可以并发执行。一个没有线程的进程也可以看做是单线程的,同样线程也经常被看做是一种轻量级的进程。并且进程可以不依赖于线程而单独存在,而线程则不然。(2)进程是并发程序在一个数据集合上的一次执行过程,进程是系统进行资源分配和调度的独立单位,线程是进程的实体,它是比进程更小的能够独立执行的基本单元,线程自己不拥有任何系统资源,但是它可以访问其隶属进程的全部资源。(3)与进程的控制表PCB相似,线程
阅读全文
posted @ 2013-07-04 21:51
猿人谷
阅读(1786)
推荐(0)
编辑
摘要:
以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” 1 #include 2 #include 3 4 int main() 5 { 6 char str[]="abcde"; 7 int len = strlen(str); 8 char t; 9 for(int i = 0 ; i < len/2 ; i++)10 {11 t = str[i];12 str[i] = str[len-i-1];13 str[len-i-1] = t;14 }15 printf("%s\n...
阅读全文
posted @ 2013-07-04 21:34
猿人谷
阅读(553)
推荐(0)
编辑
摘要:
首先是我之前写的程序,同时这也是处理第一类的字符串反转问题,也就是输入This is a string.,输出为.gnirts a si sihT:#include #include /*我之前的这个代码,有一个很致命的BUG,在字符串长度为奇数的时候运行时正确的 *但是在字符串长度为偶数的时候运行却是错误的, *比如“ab”,str的地址为0x89,ptr的地址为0x8A,当str++,ptr--执行以后 *str和ptr都是不会相等的,也就是不会结束while循环!!!直到碰巧两者相等 *循环结束,但此时程序已经得不到原先想要的结果了!!! */void RevStr(char*str){
阅读全文
posted @ 2013-07-04 20:49
猿人谷
阅读(874)
推荐(0)
编辑
摘要:
性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对Linux性能分析工具vmstat的用法和实践进行详细介绍。 1、性能分析的目的 1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈); 2)提供性能优化的方案(升级硬件?改进系统系统结构?); 3)达到合理的硬件和软件配置; 4)使系统资源使用达到最大的平衡。(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏,从而 造成系统负载极高或者响应迟缓。比如CPU过渡使用会造成大量进程等待CPU资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加, 内存耗尽又...
阅读全文
posted @ 2013-07-04 20:18
猿人谷
阅读(795)
推荐(1)
编辑
摘要:
转自:http://www.blogjava.net/qileilove/archive/2012/08/22/386010.html1、什么是进程(Process)和线程(Thread)?有何区别?进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和 分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和 栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程
阅读全文
posted @ 2013-07-04 20:15
猿人谷
阅读(1186)
推荐(0)
编辑
摘要:
转自:http://blog.csdn.net/shandianling/article/details/8785269问题描述:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1) 1 #include 2 #include 3 4 void pr_arr(int s[],int len) 5 { 6 for...
阅读全文
posted @ 2013-07-04 14:48
猿人谷
阅读(590)
推荐(0)
编辑
摘要:
/* 用加法模拟乘法 */ #include #include //#define T(O,R,N,i) (N&(1<<i)) && (O+=(R<<i)) #define T(o,a,b,i) (b&1<<i) && (o+=a<<i) int simulateMutiply(int a,int b) { int out=0; T(out, a, b, 0); T(out, a, b, 1); T(out, a...
阅读全文
posted @ 2013-07-04 14:46
猿人谷
阅读(569)
推荐(0)
编辑