#include <>
#define USER_BUF_SIZE 200
#define MAX_USER_NUM 10000000
//号段信息
typedef struct
{
char SegNo[10];
char AreaNo[10];
char Addr[20];//GBK编码,一个汉字占两个字节
char Kind[24]; //GBK编码,一个汉字占两个字节
int NextNo;
}SegmentInfo;
//用户号段信息双向列表
typedef struct SegNode
{
SegmentInfo *Segment;
struct SegNode *Prev;
struct SegNode *Next;
}SegmentNode;
typedef SegmentNode *SegmentList;
//百家姓信息
typedef char Surname[3];//GBK编码,一个汉字占两个字节
typedef struct
{
char PhoneNo[14];
char Name[10];
char Addr[16];
char Kind[24];
}UserInfo;//结构体大小64字节
//生成用户信息的线程和写用户信息的线程之间的共享空间
typedef struct
{
UserInfo User[USER_BUF_SIZE];
int CreateItemNum;
int WriteItemNum;
int OccupySize;
int NextIn;
int NextOut;
pthread_mutex_t Mutex;
pthread_cond_t CreateCond;
pthread_cond_t WriteCond;
}UserBuf;
#include <>
#define USER_BUF_SIZE 200
#define MAX_USER_NUM 10000000
//号段信息
typedef struct
{
char SegNo[10];
char AreaNo[10];
char Addr[20];//GBK编码,一个汉字占两个字节
char Kind[24]; //GBK编码,一个汉字占两个字节
int NextNo;
}SegmentInfo;
//用户号段信息双向列表
typedef struct SegNode
{
SegmentInfo *Segment;
struct SegNode *Prev;
struct SegNode *Next;
}SegmentNode;
typedef SegmentNode *SegmentList;
//百家姓信息
typedef char Surname[3];//GBK编码,一个汉字占两个字节
typedef struct
{
char PhoneNo[14];
char Name[10];
char Addr[16];
char Kind[24];
}UserInfo;//结构体大小64字节
//生成用户信息的线程和写用户信息的线程之间的共享空间
typedef struct
{
UserInfo User[USER_BUF_SIZE];
int CreateItemNum;
int WriteItemNum;
int OccupySize;
int NextIn;
int NextOut;
pthread_mutex_t Mutex;
pthread_cond_t CreateCond;
pthread_cond_t WriteCond;
}UserBuf;
:
view plaincopy to clipboardprint?
#include <>
#include <>
#include <>
#include <>
#include ""
SegmentList segmentList;
Surname surname[100];
UserBuf *shareBuf;
void ReadInitFile()
循环队列 来自淘豆网www.taodocs.com转载请标明出处.