- 博客(31)
- 资源 (1)
- 收藏
- 关注
转载 1231
一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。二、什么时候使用多线程? 当多个任务可以并行执行时,可以为每个任务启动一个线程。三、线程的创建
2016-12-31 17:51:31 497
转载 1230
memcpy()函数用法函数原型void *memcpy(void*dest, const void *src, size_t n);功能由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。头文件#include返回值 函数返回一个指向dest的指针。
2016-12-30 21:07:39 157
转载 1229
我只要一听到被面试者说:"const意味着常数"(不是常数,可以是变量,只是你不能修改它),我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可
2016-12-29 19:50:28 200
原创 1228
死锁和预防在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。 死锁的四个必要条件在计算机专业的本科教材中,通常都会介绍死锁的四个必要条件。这四个条件缺一不可,或者说只要破坏了其中任何一个条件,死锁就不可能发生。我们来复习一下,这四个条件是:•互斥(Mutual exclusion):存在这样一种资源,它在某个时刻
2016-12-28 20:13:28 173
原创 1227
链表表头循环#include #include struct node{ int num; struct node * next;};typedef struct node Node;typedef struct node * Link;void create_newnode(Link *new_node);void crea
2016-12-27 22:44:08 173
原创 1226
原型 char * fgets(char * s, int n,FILE *stream); 参数: s: 字符型指针,指向存储读入数据的缓冲区的地址。 n: 从流中读入n-1个字符 stream : 指向读取的流。 返回值: 1. 当n 2.
2016-12-26 21:02:49 133
原创 1225
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。(1)可以定义const常量,具有不可变性。 例如:const int Max=100; Max++会产生错误; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。 例如: void f(const int i) { .........} 编译器就会知道i是一个常量,
2016-12-26 21:01:30 145
原创 1224
sprintf函数功能:把格式化的数据写入某个字符串缓冲区。头文件:stdio.hint sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argum
2016-12-24 23:14:05 131
原创 1223
#include #include #include #include #include #include #include #include #define portnumber 3333void * read_msg(void *arg){ int fd = *((int *)arg); int nread =
2016-12-23 22:47:59 443
原创 1222
server多路复用#include #include #include #include #include #include #include #include #include#include#include/* 宏定义端口号 */#define portnumber 8000#define MAX_LINE 80/*
2016-12-22 22:20:40 151
原创 1221
socket通信时协议的制定在系统开发过程中,如果涉及到了Socket通讯,那就要制定好通讯的协议,只有制定好了规则,后面的工作才方便顺利展开,制作通讯协议时要考虑到通讯的安全性,必要的信息要经过加密处理,同时也要考虑到系统的可扩展性,如果以后需要增加一个命令或者修改命令要保证这些工作能方便的进行。 协议的内容包括如下:一、 系统默认约定
2016-12-21 21:47:41 180
原创 1220
1、栈:由系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 堆: 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 2、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放; 堆是存放在二级缓存中,生命周期由虚拟机的回收算法来决定(并不是一旦成为孤儿对象就能被回收)。
2016-12-20 23:10:50 230
原创 1219
#include #include #include #include struct menber{ int a; char *s;};void *create(void *arg){ struct menber *temp; temp=(struct menber *)arg; printf("me
2016-12-19 22:23:12 166
原创 1218
线程编程#include #include #include #include char message[]="hello world!\n";void * thread_function(void * arg){ printf("thread_function is running! argument is %s\n",(char *
2016-12-18 21:29:59 123
原创 1217
#include #include #include pes.h>#include char message[]="hello world!";void * thread_function(void *arg){ printf("thread function is running, argument is %s\n",(char *)arg); s
2016-12-17 19:06:04 219
原创 1216
#include #include #include int flag = 1;void * thread_function(void * arg);int main(){ int ret; pthread_t tid; void * thread_result; int count = 1; ret = p
2016-12-16 20:12:02 190
原创 1215
#include #include #include #include char message[]="hello world!";void * thread_function(void *arg){ printf("thread function is running, argument is %s\n",(char *)arg); sleep(3
2016-12-15 17:50:06 144
原创 1214
进程间通信进程间通信主要包括管道, 系统IPC(Inter-Process Communication,进程间通信)(包括 消息队列, 信号,共享存储), 套接字(SOCKET).管道包括三种:1)普通管道PIPE, 通常有两种限制,一是单工,只能单向传输;二是只能在 父子或者兄弟进程间使用.2)流管道s_pipe: 去除了第一种限制,为半双工,可以双向传输.3) 命名管道
2016-12-14 18:16:18 172
原创 1213
二叉树 每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。 性质: 1、非空二叉树的第n层上至多有2^(n-1)个元素 2、深度为h的二叉树至多有2^h-1个结点。 满二叉树:所有终端都在同一层次,且非终端结点的度数为2。 在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。 完全二叉树: 除了最大的层次即成为一颗满二叉
2016-12-13 22:23:57 135
原创 1212
#include #include #include void *create(void *arg){ char *name; name=(char *)arg; printf("The parameter passed from main function is %s \n",name); return (void *)0;}
2016-12-12 17:26:45 110
原创 1211
#include #include #include #include char message[]="hello world!\n";void * thread_function(void * arg){ printf("thread_function is running! argument is %s\n",(char *)arg); sl
2016-12-11 21:26:17 211
原创 1210
指针和数组的区别主要体现在如下几个方面:1.空间分配数组分配空间时是静态分配,你定义多大的数组就分配多大的空间,并自动分配一片连续的内存空间; 指针变量本身是分配4字节的空间,但是指针可以结合malloc,calloc,realloc等函数动态分配空间,通过指针来访问由这些函数分配的内存空间。 所以从这点上看,指针的空间利用率要高于数组。2.访问效率数组通过
2016-12-10 13:56:48 116
原创 1209
#include #include #define BUFFER_SIZE 16struct prodcons{ int buffer[BUFFER_SIZE]; pthread_mutex_t lock; int readpos,writepos; pthread_cond_t notempty; pthread_
2016-12-09 18:35:54 143
原创 1208
#include #include #include #include int ticket = 10;void *sell_ticket1(void){ while(1){if(ticket > 0){sleep(1);printf("sell ticket--> chool ticket:%d\n",--ticket);
2016-12-08 13:14:30 177
原创 1207
#include #include #include #include #include #include #include #include #include#include#include/* 宏定义端口号 */#define portnumber 8000#define MAX_LINE 80/*处理函数
2016-12-07 12:27:47 130
原创 1206
#include #include #include #include pthread_mutex_t lock;//互斥锁pthread_cond_t cond_create;//创建表的条件变量pthread_cond_t cond_menu;//创建菜单的条件变量pthread_cond_t cond_insert;//插入用户的条件变量pthread
2016-12-06 12:44:46 111
原创 1205
#include #include #include //#include //#include #include pthread_mutex_t mutex;pthread_cond_t cond1;pthread_cond_t cond2;pthread_cond_t cond3;int ticket = 10;void *s
2016-12-05 20:25:20 117
原创 1204
#include #include #include pthread_mutex_t mutex;pthread_cond_t cond;int main_flog = 0;int sub_flog = 0;int main_count = 0;int sub_count = 0;void *sub_thread_func(voi
2016-12-04 21:09:12 147
原创 1203
#include #include #include struct msg_buf { int mtype; char data[255]; }; int main(){ key_t key; int msgid; int ret; str
2016-12-03 21:41:09 167
原创 1202
#include #include #include struct menber{ int a; char *b;}temp={8,"zieckey"};void *create(void *arg){ printf("new thread ... \n"); return (void *)&temp;}i
2016-12-02 23:30:01 348
原创 1201
#include #include #include #include "shmdata.c" #include int main() { int running = 1; void *shm = NULL; struct shared_use_st * shared; int sh
2016-12-01 17:18:29 111
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人