logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux 互斥锁pthread_mutex_t 等其它函数定义 及 应用实例

linux下为了多线程同步,通常用到锁的概念。          互斥锁是一种通过简单的加锁的方法来控制对共享资源的存取,用于解决线程间资源访问的唯一性问题。互斥锁有上锁和解锁两种状态,在同一时刻只能有一个线程掌握某个互斥的锁,拥有上锁状态的线程可以对共享资源进行操作。若其他线程希望对一个已经上了锁的互斥锁上锁,则该线程会被挂起,直到上锁的线程释放掉互斥锁为止。         p

linux 中C语言便于调试的宏定义编写及 __FILE__,__FUNCTION__, __LINE__参数使用

在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难。因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在。     下面定义了宏,分别是WARNING,INFO,ERROR,SHOW_TIME,DEBUG等。利用了 __FILE__,_FUNCTION__, __LINE__等变量。。。      _FILE__,__FU

printf_系统调用过程分析_write() putc() 函数实现

系统调用”是操作系统提供给用户程序进行调用的一些服务。这些服务是系统预先提供的函数,在这一点上系统调用与普通的用户程序是没有区别的。而区别则在于“系统调用”是由操作系统提供给用户的,这些服务更接近底层或者要求的安全性更高,因此由操作系统来统一实现和管理。    程序员在写程序的过程中会经常需要调用“系统调用”来完成特定的任务。我们以教学用的类Linux操作系统xv6为例,以打印操作为主线来说明

ptrace运行原理及使用详解

你想过怎么实现对系统调用的拦截吗?你尝试过通过改变系统调用的参数来愚弄你的系统kernel吗?你想过调试器是如何使运行中的进程暂停并且控制它吗?你可能会开始考虑怎么使用复杂的kernel编程来达到目的,那么,你错了。实际上Linux提供了一种优雅的机制来完成这些:ptrace系统函数。 ptrace提供了一种使父进程得以监视和控制其它进程的方式,它还能够改变子进程中的寄存器和内核映像,因而可以

Linux下C语言多线程编程

一、多线程的创建1、Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连 接时需要使用库libpthread.a。因此,后面的编译必须在选项中加入 -lpthread 选项,否则提示找不到pthread_create()这些函数。Linux下pthread的实现是通过系统调用clone()来实现的。C

Linux grep 命令用法

相信grep是UNIX和LINUX中使用最广泛的命令之一。  grep(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集。grep有三种变形,即:    grep:标准grep命令,本章大部分篇幅集中讨论此格式。    egrep:扩展grep,支持基本及扩展的正则表达式,但不支持\q模

到底了