随笔分类 - Linux::Development
Linux平台下的软件开发,系统API的使用介绍,系统架构研究。
摘要:动机网游服务器端开发过程中,很多控制游戏的参数都不应该直接硬编码的。需要各种各样的配置和脚本文件,好处:可以由策划或数值去随意修改,而不用动程序代码配置可以动态加载,可以动态改变服务器运行中的参数,对已经发布的功能进行调整一般,可采用:ini配置,一般用于window下的软件,游戏客户端有时会用到。比较简单,功能有限。Excel表格,数值策划特别喜欢用这个,可以做很多运算,生成数值,可以用VBA做更多的事情。xml配置,对于层次比较深、结构比较复杂的数据,应该算最佳选择了。XML(eXtensible Markup Language)是一种标记语言,用于说明数据是什么,以及携带数据信息。主要用
阅读全文
摘要:Linux线程技术的概念与技术发展Linux是一个多用户、多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。在操作系统设计上,从进程(Process)演化出线程(Thread),最主要的目的就是更好地支持多处理器,并且减小(进程/线程)上下文切换的开销。进程和线程的关系根据操作系统的定义,进程是系统资源管理的最小单位,线程是程序执行的最小单位。线程和进程十分相似,不同的只是线程比进程小。首先,线程采用了多个线程可共享资源的设计思想。例如,它们的操作大部分都是在同一地址空间进行的。其次,从一个
阅读全文
摘要:深入Pthread(五):线程属性 线程属性相关API phtread_attr_t attr; int pthread_attr_init(pthread_attr_t* attr); int pthread_attr_destroy(pthread_attr_t* attr); int pthread_attr_getdetachstate(pthread_attr_t* attr, int* detachstate); int pthread_attr_setdetachstate(pthread_attr_t* attr, int detachstate); #ifdef _POSIX
阅读全文
摘要:深入Pthread(四):一次初始化-pthread_once_t用到的API:pthread_once_t once_control = PTHREAD_ONCE_INIT;int pthread_once(pthread_once_t* once_control, void (*init_routine)(void));有些事需要一次且仅需要一次执行。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库时,就不能在main里面初始化了,你可以用静态初始化,但使用一次初始化(pthread_once_t)会比较容易些。例程:#include <pthread.h
阅读全文
摘要:深入Phtread(三):线程的同步-Condition Variables继续昨天的线程同步,条件变量(Condition Variables)是用于线程间,通信共享数据状态改变的机制。简介 条件变量的创建和销毁 等待条件变量 唤醒等待条件变量的线程简介当线程互斥地访问一些共享的状态时,往往会有些线程需要等到这些状态改变后才应该继续执行。如:有一个共享的队列,一个线程往队列里面插入数据,另一个线程从队列中取数据,当队列为空的时候,后者应该等待队列里面有值才能取数据。而共享数据(队列)应该用mutex来保护,为了检查共享数据的状态(队列是否为空),线程必须先锁定mutex,然后检查,最后解锁m
阅读全文
摘要:深入Phtread(二):线程的同步-Mutex并行的世界,没有同步,就失去了秩序,就会乱作一团!试想,交通没有红绿灯,生产线产品装配没有一定的顺序... 结果是显而易见的。多个线程也需要同步,否则程序运行起来结果不可预测,这是我们最不能容忍的。交通的同步机制就是红绿灯,Pthread提供了互斥量(mutex)和条件变量(Condition Variables)两种机制去同步线程。不变量,临界区和判定条件 互斥量(Mutex) 创建和销毁互斥量 锁定和解锁 调整mutex大小 使用多个mutex 锁定链不变量,临界区和判定条件不变量(Invariant):程序所做的一些假设,特别是指变量之间的
阅读全文
摘要:深入Phtread(一):线程的一生我们每个人都并行地活在这个世界上,每一天每个人都干着不同的事情。每个人的人生都是不同的,从出生 -> 活着 -> 死去, 个中滋味,只能自己体味了。我们的线程兄弟也一样,只不过它的环境没有人类社会这么复杂,它的一生,被操作系统控制,被我们程序员控制着!呵呵,想想都觉得这兄弟可怜啊!不过这哥们可不许小瞧了,功能大了去了!具体线程的定义和好处参考其它关于线程的资料。该篇主要讲线程兄弟的大体的一生(从被创建到销毁)。进入正题:线程的一生始终处于下面四种状态之一:StateMeaningReady就绪状态,等待处理器的调度。可能是刚新创建的,或阻塞状态,
阅读全文
摘要:POSIX 多线程程序设计Blaise Barney, Lawrence Livermore National Laboratory 目录表摘要 译者序Pthreads 概述 什么是线程? 什么是Pthreads? 为什么使用Pthreads? 使用线程设计程序 Pthreads API编译多线程程序 线程管理 创建和终止线程 向线程传递参数 连接(Joining)和分离( Detaching)线程 栈管理 其它函数 互斥量(Mutex Variables) 互斥量概述 创建和销毁互斥量 锁定(Locking)和解锁(Unlocking)互斥量 条件变量(Condition Variable)
阅读全文
摘要:POSIX Threads Programming Blaise Barney, Lawrence Livermore National Laboratory 译文点此Table of Contents Abstract Pthreads Overview What is a Thread? What are Pthreads? Why Pthreads? Designing Threaded Programs The Pthreads API Compiling Threaded Programs Thread Management Creating and Terminating Thre
阅读全文
浙公网安备 33010602011771号