摘要:
#include int overrideMaxNum(int *points,int pointsNum,int L) { int maxNum=1,i=0,j=1; if(L<=0||points==NULL||pointsNum<=0)return 0; while(j<pointsNum) { while(j<pointsNum&&points[j]-points[i]<=L) { maxNum++; j++; } ... 阅读全文
摘要:
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队 阅读全文
摘要:
#include double fangcha(int *arr,int n) { int i; double sum1=0,sum2=0; for(i=0;i<n;i++) { sum1+=arr[i]*arr[i]; sum2+=arr[i]; } return sum1/n-(sum2/n)*(sum2/n); } int main() { int arr[3]={1,2,3}; printf("%f\n",fangcha(arr,3)); retu... 阅读全文
摘要:
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括:1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。2.寄存器组的值 由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线 程切换到另一个线程上时,必须将原有的线程的寄存器集合的状态保存,以便 将来该线程在被重新切换到时能得以恢复。3.线程的堆栈 堆栈是保证线程独立运行所必 阅读全文