作业
cindernat
这个作者很懒,什么都没留下…
展开
-
线程与进程
进程是一个具有独立功能的程序关于某个数据集合的运行活动。具有独立的内存区域;是操作系统对程序运行的资源分配。 线程是在网络或多并发操作下,对没有关联的操作同时进行运行的一个调度单位,一个进程的里的线程共享资源。 一个操作系统有多个应用,每个应用至少会有一个进程,一个进程至少有一个线程。操作系统>进程>线程,对于线程是CPU对进程调用的一个实体;一原创 2016-04-17 09:42:32 · 195 阅读 · 0 评论 -
C语言
C语言 1、printf("格式控制字符串",输出列表) 格式字符串以%号开始。 2、scanf()是格式输入函数。scanf("格式控制字符串",输入列表) 3、malloc(unsigned int a)向系统申请a字节的内存块空间。 4、realloc()可以重新更改malloc()已分配的内存空间大小; 5、calloc(a)在动态存储区分配a个长度size的连续空间,在分配完原创 2016-05-01 10:42:55 · 231 阅读 · 0 评论 -
数据结构
先建立的数的节点: struct Tprint { int data; Tprint *lc,*rc; } 二叉树的构造: Tsort(int a[],int n) { for(int i =0;i { s=new Tprint ; s->data =a[i]; s->lc=s->rc=null; insertT(root,s); } } 二叉树的原创 2016-05-01 10:54:54 · 241 阅读 · 1 评论 -
static、static inline、entern inline
static:1、定义静态全局变量2、定义在栈空间分配的静态局部变量3、定义静态函数,作用于本源文件 static inline:inline表示内联,在编译时,直接把函数代码拷贝到程序中去,而static inline表示静态内联函数,static是限定本函数只在当前函数中被调用 extern inline:extern告诉编译器函数已经声明过了,为了保证函数既能内联又能保持对外的可见性。原创 2016-04-18 16:06:16 · 458 阅读 · 0 评论 -
锁与linux中的锁
加锁和解锁:当某个进程进入临界区,会被加持上某种类型的锁,当其他进程在该进程没有释放该锁时进入临界区,它将会被设置成睡眠状态,然后被置入等待队列,当该进程解锁时,内核将从等待优先级队列中寻找下一个进程并将其置为就绪状态。 互斥量(Mutex):互斥量的释放并不仅仅依赖于释放操作,还可以引入一个定时器属性。如果在释放操作执行前发生定时器超时,则互斥量也会释放代码块或共享存储区供其他线程访问。当有异原创 2016-04-18 16:07:30 · 242 阅读 · 0 评论 -
链表与树
链表:将数据元素作为一个节点,用指针将节点连接起来的一种非顺序存储结构但逻辑顺序连续的线性表。 链表的基本结构 template struct PointNode { T data; PointNode*Pr,*Nx; } 链表的查找: 按位查找: template T LinkList::Get(int i) { Node *p; int原创 2016-04-21 11:18:43 · 868 阅读 · 0 评论