按类别查询搜索结果
关于关键词 的检测结果,共 2267
jackywgw | 2014-12-26 16:21:38 | 阅读(1040) | 评论(0)
sysetm v 信号量集结构struct semid_ds {struct ipc_perm sem_perm;  /*信号量的访问权限结构*/struct sem *sem_base;      /*指向信号量集的指针*/ushort     sem_nsems;      /*信号量集中的信号量个数*/time_t     sem_otime;/*time of last semop()*/t...【阅读全文】
skykiker | 2014-12-25 18:19:57 | 阅读(6580) | 评论(3)
C语言的打桩(Interpositioning)机制是一种用定制的函数替换链接库函数且不需重新编译的技术。甚至可用此技术替换系统调用(更确切地说,库函数包装系统调用)。说白了,编译时使用的动态库中的某个符号可能在运行时被可执行程序或另一个动态库的同名符号替换。如果发生替换的原因不是用户有意为之而是不同的库间偶然出现了符号重名,那就会带来Bug。【阅读全文】
jackywgw | 2014-12-25 18:04:10 | 阅读(1220) | 评论(0)
#include <sys/sem.h>int semctl(int semid, int semnum, int cmd, ... /*union semun arg*/);成功返回非负值,出错返回-1参数semid标识其操作待控制的信号量集参数semnum标识该信号量集内的某个成员,semnum值仅仅用于GETVAL/SETVAL/GETNCNT/GETZCNT/GETPIDsystem v支持下列cmd:GETVAL ---把semval的当前值作为函数...【阅读全文】
hm2462964492 | 2014-12-25 11:03:20 | 阅读(1470) | 评论(0)
线程和信号处理Pthread库也对线程和信号的处理提供了一些函数,这些函数包括:int pthread_sigmask(int how,const sigset_t * newmask, sigset_t * oldmask);int pthread_kill(pthread_t thread,int signo);int sigwait(const sigset_t * set, int * sig);以上这些函数包含在signal.h中。这三个函数如果正确执行...【阅读全文】
jackywgw | 2014-12-24 15:18:03 | 阅读(960) | 评论(0)
semop函数使用semget打开一个信号量集后,对其中一个或多个信号量的操作就使用semop函数来执行。#include <sys/sem.h>int semop(int semid, struct sembuf *opsptr, size_t nops);返回:若成功则为0,若出错则为-1struct sembuf {short sem_num;   /*信号量值:0,1...,nsems-1*/short sem_op;    /*...【阅读全文】
jackywgw | 2014-12-23 11:05:08 | 阅读(1130) | 评论(0)
多生产者,多消费者点击(此处)折叠或打开#include "../unipc.h" #define NBUFF 10#define MAX_PRODUCE 100#define MAX_CONSUME 100#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)int nitems;...【阅读全文】
jackywgw | 2014-12-23 10:51:15 | 阅读(470) | 评论(0)
多生产者单消费者点击(此处)折叠或打开#include "../unipc.h" #define NBUFF 10#define MAX_PRODUCE 100#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)int nitems;int nproducers;struc...【阅读全文】
jackywgw | 2014-12-23 10:15:20 | 阅读(640) | 评论(0)
单生产者单消费者1.有名信号量的单生产者单消费者点击(此处)折叠或打开#include "../unipc.h" #define NBUFF 10#define SEM_MUTEX "mutex"#define SEM_NEMPTY "nempty"#define SEM_NSTORED "nstored"#defi...【阅读全文】
hezhi11 | 2014-12-22 23:57:33 | 阅读(1130) | 评论(0)
编写可重入和线程安全的代码在单线程的进程中,有且仅有一个控制流。这种进程执行的代码不必是可重入的,或线程安全的。在多线程的程序中,同一个函数或是同一个资源可能被多个控制流并发地访问。为了保证资源的完整性,为多线程程序写的代码必须是可重入的和线程安全的。本节提供了一些编写可重入和线程安全的代码的信息。理解可重入和线程安全可重入和线程安全都是指函数处理资源的方式。可重入和线程安全是两个相互独立的概念,一个函数可以仅是可重入的,可以仅是线程安全的,可以两者都是,可以两者都不是。可重入一个可重入的函数不能为后续的调用保持静态(或全局)数据,也不能返回指向静态(或全局)数据的指针。函数中用到的所有的数据【阅读全文】
【C/C++】 学生录入
拾忆1765207585 | 2014-12-22 11:45:15 | 阅读(1580) | 评论(0)
#include<stdio.h>#include<string.h>#include<stdlib.h>struct information{char name [10];char ID   [10];char classr  [10];char sex  [10];};void insert_infor(char *name ,char *ID ,char *classr, char *sex,struct information *infor){strcpy((*infor).name , name );strcpy((*infor...【阅读全文】
jackywgw | 2014-12-22 11:31:33 | 阅读(5130) | 评论(0)
sem_t *sem sem_open(const char *name, int oflag, .../*mode_t mode,unsinged int value) ;int sem_init(sem_t *sem,int shared, unsigned int value);区别:1.创建有名信号量必须指定一个与信号量相关链的文件名称,这个name通常是文件系统中的某个文件。  基于内存的信号量不需要指定名称2.有名...【阅读全文】
【C/C++】 复的数组
meng1623338942 | 2014-12-22 11:03:44 | 阅读(1930) | 评论(0)
#include<stdio.h>main(){int a, b, c;int count =0;for(a=1;a<=4;a++){for(b=1;b<=4;b++){for(c=1;c<=4;c++){if((a!=b)&&(a!=c)&&(b!=c)){count++;}}}}printf("%d\n",count);}【阅读全文】
jackywgw | 2014-12-22 11:00:37 | 阅读(1130) | 评论(0)
当不需要使用有名信号量关联的名字时,可改用基于内存的信号量。基于内存的信号量至少具有随进程的持续性,然而他们真正的持续性却取决于存放信号量的内存区的类型。只要含有某个基于内存信号量的内存区保持有效,该信号量就一直存在。1.如果某个基于内存的信号量是由单个进程内的各个线程共享的(sem_init函数的入参share...【阅读全文】
【C/C++】 复的数组
拾忆1765207585 | 2014-12-19 14:58:13 | 阅读(850) | 评论(0)
#include<stdio.h>main(){int a, b, c;int count =0;for(a=1;a<=4;a++){for(b=1;b<=4;b++){for(c=1;c<=4;c++){if((a!=b)&&(a!=c)&&(b!=c)){count++;}}}}printf("%d\n",count);}【阅读全文】
9768p1 | 2014-12-19 14:02:20 | 阅读(1660) | 评论(0)
点击(此处)折叠或打开#include<stdio.h>int main(){    int a,b,c;    for(a=1;a<=4;a++)    for(b=1;b<=4;b++)  &nbs...【阅读全文】
zgj224 | 2014-12-17 11:12:18 | 阅读(570) | 评论(0)
程睿 | 2014-12-12 09:58:10 | 阅读(240) | 评论(0)
一、什么是操作符重载操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符。我们不妨先直观的看一下所谓的操作符重载: 1 #include 2 ...【阅读全文】
lxl123 | 2014-12-10 13:33:09 | 阅读(1980) | 评论(0)
孙超越 | 2014-12-08 10:45:43 | 阅读(1450) | 评论(0)
点击(此处)折叠或打开#include<stdio.h>void main() {     long f1,f2;    int i,n,m;    f1=f2=1;&...【阅读全文】
lwchsz | 2014-12-05 14:46:18 | 阅读(5040) | 评论(0)
url_redirect.c: #include #include #include #include #include #include #include #include #include #include #inc...【阅读全文】