- 博客(11)
- 资源 (5)
- 收藏
- 关注
转载 最小生成树(普利姆算法、克鲁斯卡尔算法)
算法给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2) 普里姆算法图的存贮结构采用邻接矩阵.此方法是按各个顶点连通的步骤进行,需要用一个顶点集合,开始为空集,以后将以连
2015-04-20 10:34:37 714
转载 __func__函数的使用
__func__是C99标准里面预定义标识符, 它是一个static const char[], 会在每一个使用__func__的函数里隐式定义.下面是ISO9899里的例子#include void myfunc(void){ printf("%s/n", __func__); /* ... */}输出: myfunc 据我所知好像只有GC
2015-04-12 23:11:58 22973
转载 linux多线程学习设置线程调度权限
pthread_setschedparam 设置线程的权限int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param)参数 1. target_thread是使用pthread_create所获得的线程ID。 2.线程的调度有三种策略:SCHED_OT
2015-04-10 18:26:05 1283
转载 Linux 线程同步的三种方法
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHREA
2015-04-10 18:16:19 494
转载 Linux 线程属性函数总结
1、初始化一个线程对象的属性int pthread_attr_init(pthread_attr_t *attr); 返回值:若是成功返回0,否则返回错误的编号 形 参: attr 指向一个线程属性的指针 说 明:Posix线程中的线程属性pthread_attr_t主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先
2015-04-10 18:14:00 519
转载 Linux线程属性总结
线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。[c] view plaincopy//线程属性结构如下: typedef struct { int etachstate; //线程的分离状态 int schedpolicy;
2015-04-10 18:12:06 480
转载 linux多线程中信号的使用(2)
简介: 关于代码的可重入性,设计开发人员一般只考虑到线程安全,异步信号处理函数的安全却往往被忽略。本文首先介绍如何编写安全的异步信号处理函数;然后举例说明在多线程应用中如何构建模型让异步信号在指定的线程中以同步的方式处理。Linux 多线程应用中编写安全的信号处理函数在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量。如果应用中
2015-04-10 17:15:39 573
转载 linux多线程中信号的使用(1)
在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到来!)。然而信号处理函数的实现,有着许多的限制;比如有一些函数不能在信号处理函数中调用;再比如一些函数read、recv等调用时会被异步的信号给中断(inter
2015-04-10 17:04:02 504
转载 哲学家进餐问题
产生背景2问题描述3死锁问题4管程机制1产生背景由荷兰学者Dijkstra提出的哲学家进餐问题(The Dinning Philosophers Problem)是经典的同步问题之一。哲学家进餐问题是一大类并发控制问题的典型例子,涉及信号量机制、管程机制以及死锁等操作系统中关键问题的应用,在操作系统文化史上具有非常重要的地
2015-04-09 17:04:10 1706
转载 银行家算法
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(2) 顾客可以分期贷款,但贷款的总数不能超过最大需求量;(3) 当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有
2015-04-09 16:52:41 799
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人