
Linux编程
文章平均质量分 56
linux流浪汉
这个作者很懒,什么都没留下…
展开
-
Linux下各个时间结构及其获取函数
常用的时间结构struct tm结构struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_w原创 2021-01-31 21:06:13 · 243 阅读 · 0 评论 -
LINUX下的几种CPU让渡策略
CPU作为服务器重要的计算资源,因为其资源的稀缺性,所以其对所有程序来说都是弥足宝贵的;尤其是对性能要求极高的应用程序而言,如何更好的利用CPU将是 提升性能的一个关键因素。本文将探讨几种应用程序让渡CPU的策略,以此来研究如何让CPU更好的被不同用途的应用程序或者相同协作的一组应用程序使用,从而更好的使用CPU这种宝贵的资源。cpu_relaxcpu_relax在LINUX内核中使用较...原创 2019-09-02 22:12:10 · 1169 阅读 · 0 评论 -
线程局部存储__thread和线程特有存储pthread_key_create
在一个进程中定义的全局或静态变量都是所有线程可见的,即每个线程共同操作一块存储区域。而有时我们可能有这样的需求:对于一个全局变量,每个线程对其的修改只在本线程内有效,各线程之间互不干扰。即每个线程虽然共享这个全局变量的名字,但这个变量的值就像只有在本线程内才会被修改和读取一样。 线程局部存储和线程特有数据都可以实现上述需求。1. 线程局部存储线程局部存储提供了持久的每线程存储,每个线程都...转载 2018-08-05 06:58:43 · 1597 阅读 · 0 评论 -
两种高效的服务器设计模型:Reactor和Proactor模型
I/O模型在文章《unix网络编程》(12)五种I/O模型中提到了五种I/O模型,其中前四种:阻塞模型、非阻塞模型、信号驱动模型、I/O复用模型都是同步模型;还有一种是异步模型。Reactor模型Reactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程/进程阻塞在多路复用器上;一旦有I/O事件到...转载 2018-08-03 17:28:06 · 1519 阅读 · 0 评论 -
Linux中的线程局部存储
在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程序的性能会得到一定的提高。那么对于那些系统不支持原子操作的自定义数据类型,在不使用锁的情况下如何做到线程安全呢?本文将从线程局部存储方面,简单...转载 2018-05-31 06:26:07 · 457 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Pro转载 2018-04-23 18:04:33 · 387 阅读 · 0 评论 -
linux程序分析工具介绍—ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具:1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库:[plain] view plain copy$ ld转载 2017-12-26 07:42:23 · 488 阅读 · 0 评论 -
Linux的.a、.so和.o文件以及与windows下的对应关系
在说明Linux的.a、.so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的。lib是静态链接库的库文件,dll是动态链接库的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要li转载 2017-12-26 07:35:00 · 8434 阅读 · 0 评论 -
Reactor server 服务器模式的初步了解
reactor server的架构初步了解。转载 2017-11-15 11:50:09 · 389 阅读 · 0 评论 -
常用的LLDB命令
常用的lldb命令大全转载 2017-10-12 18:28:00 · 3981 阅读 · 1 评论 -
常用的GDB命令
gdb中文命令大全转载 2017-09-26 08:46:50 · 419 阅读 · 0 评论 -
Linux信号处理机制及处理函数
Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了几个简单的应用实例。转载 2017-06-20 18:44:01 · 699 阅读 · 0 评论