linux
红豆和绿豆
这个作者很懒,什么都没留下…
展开
-
Linux大数据开发基础:第一节、Linux介绍、安装及使用初步
http://blog.csdn.net/lovehuangjiaju/article/details/478117092 超级用户root密码的设置//采用sudo passwd命令修改root密码xtwy@ubuntu:~$ sudo passwd[sudo] password for xtwy: Enter new UNIX password: Retype new转载 2016-01-03 18:19:31 · 294 阅读 · 0 评论 -
linux多线程学习(二)——线程的创建和退出
在上一篇文章中对线程进行了简单的概述,它在系统中和编程的应用中,扮演的角色是不言而喻的。学习它、掌握它、吃透它是作为一个程序员的必须作为。在接下来的讲述中,所有线程的操作都是用户级的操作。在LINUX中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此他的移植性是非常好的。 创建线程实际上就是确定调用该线程函数的入口点,这里通常使用的函数是pthread_c转载 2016-09-12 09:30:26 · 339 阅读 · 0 评论 -
linux多线程学习(三)——线程属性设置
在上一篇文章中,介绍了线程的创建和退出,以及相关函数的使用。其中pthread_create函数的第二个参数,是关于线程属性的设置,这也是今天所有讲述的。这些属性主要包括邦定属性、分离属性、堆栈地址、堆栈大小、优先级。其中系统默认的是非邦定、非分离、缺省1M的堆栈、与父进程同样级别的优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。(1)绑定属转载 2016-09-12 09:46:20 · 355 阅读 · 0 评论 -
linux多线程学习(四)——互斥锁线程控制
在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源按序的在转载 2016-09-12 10:21:22 · 425 阅读 · 0 评论 -
linux多线程学习(五)——信号量线程控制
在上一篇文章中,讲述了线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁,信号量,也就是操作系统中所提到的PV原语,能达到互斥和同步的效果,这就是今天我们所要讲述的信号量线程控制。PV原语是对整数计数器信号量sem的操作,一次P操作可使sem减一,而一次V操作可是sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当信号量的值大于零或等于零的时候,该进程(或线转载 2016-09-12 10:49:55 · 305 阅读 · 0 评论 -
linux多线程学习(六)——信号量实现同步
信号量的互斥同步都是通过PV原语来操作的,我们可以通过注册两个信号量,让它们在互斥的问题上互动,从而达到同步。通过下面实例就可以很容易理解: [cpp] view plain copy#include #include #include #include #include转载 2016-09-12 10:51:04 · 345 阅读 · 0 评论 -
linux多线程学习(七)——实现“生产者和消费者”
在上一篇文章中,利用信号量实现了线程间的互斥,这一篇将要利用信号量的互斥同步机制来实现一个经典实例,就是“生产者和消费者”。1、简单描述生产者和消费者的问题。有一个缓冲区和两个线程:生产者和消费者。生产者把产品放入缓冲区,而消费者从缓冲区中拿走。当缓冲区满时,生产者必须等待;另外,当缓冲区空时,消费者必须等待,并且缓冲区不能同时进行生产者和消费者的操作。[c转载 2016-09-12 10:58:28 · 291 阅读 · 0 评论 -
深刻理解Linux进程间通信
深刻理解Linux进程间通信(IPC)0. 序1. 管道1.1. 管道概述及相关API应用1.2. 有名管道概述及相关API应用1.3. 小结1.4. 参考资料2. 信号(上)2.1. 信号及信号来源2.2. 信号的种类2.3. 进程对信号的响应2.4. 信号的发送2.5. 信号的安装(设置信号关联动作转载 2016-09-12 11:23:58 · 2650 阅读 · 1 评论 -
linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2016-09-12 11:40:58 · 216 阅读 · 0 评论 -
为何要用多线程编程
http://blog.csdn.net/longshengguoji/article/details/8105401 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关转载 2016-09-12 09:18:44 · 486 阅读 · 0 评论 -
Tinyxml解析xml文件
下载地址 http://sourceforge.net/projects/tinyxml/ 官网有详细的文档以及API介绍 感觉像javaXML解析文件一样好用。读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用原创 2016-03-26 20:17:51 · 1701 阅读 · 0 评论 -
Linux大数据开发基础:第二节:Linux文件系统、目录(一)
http://blog.csdn.net/lovehuangjiaju/article/details/47856591本节主要内容如何获取帮助文档Linux文件系统简介目录操作访问权限1. 如何获取帮助文档在实际工作过程当中,经常会忘记命令的使用方式,例如ls命令后面可以跟哪些参数,此时可以使用man命令来查看其使用方式,例如//man命令获取转载 2016-01-03 18:36:38 · 343 阅读 · 0 评论 -
Linux大数据开发基础:第三节:用户和组
http://blog.csdn.net/lovehuangjiaju/article/details/47904673本节主要内容理解用户和组的概念用户管理组管理权限分配1. 理解用户和组的概念在第一讲中我们提到,linux是一种多任务、多用户的操作系统,在讲ls -l命令行我们看到如下文件详细信息:root@ubuntu:/home/xtwy# ls -转载 2016-01-03 18:44:09 · 388 阅读 · 0 评论 -
Linux大数据开发基础:第四节:Linux文件系统(二)
http://blog.csdn.net/lovehuangjiaju/article/details/47905791本节主要内容访问控制列表ACL链接压缩和归档文件其他日常管理实用程序1. 访问控制列表ACL在实际使用使用过程中,可能linux系统自身权限控制不能满足要求,还需要进一步细化,此时可以用ACL( Access Control List )进行,转载 2016-01-04 12:50:50 · 283 阅读 · 0 评论 -
Linux大数据开发基础:第五节:vi、vim编辑器(一)
http://blog.csdn.net/lovehuangjiaju/article/details/47946621本节主要内容vim编辑器的三种模式移动光标输入模式修改文本作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦1. vi编辑器的三种模式学会使用vi编辑器是学习linux系统的必备技术之一,因为一般的linux转载 2016-01-04 14:28:23 · 392 阅读 · 0 评论 -
Linux大数据开发基础:第六节:vi、vim编辑器(二)
本节主要内容缓冲区的使用文件的存盘与读盘文本查找文本替换作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦1. 缓冲区的使用在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改。vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修改的文本保存在缓冲转载 2016-01-04 14:34:35 · 492 阅读 · 0 评论 -
Linux大数据开发基础:第九节:Shell编程入门(一)
http://blog.csdn.net/lovehuangjiaju/article/details/48827923本节主要内容shell编程简介变量定义常用特殊变量1. shell编程简介学习linux操作系统最让人着迷的事情莫过于shell脚本编程,这是因为如果要完成某些复杂的功能,单纯地通过GUI操作不可能达到,shell脚本可以直接与操作系统内核打交转载 2016-01-04 18:36:36 · 396 阅读 · 0 评论 -
Linux大数据开发基础:第十节:Shell编程入门(二)
http://blog.csdn.net/lovehuangjiaju/article/details/48858199本节主要内容shell命令行中的基本运算文件描述符与文件重定向1. shell命令行中的基本运算通过上一节我们知道,Linux Bash shell 命令行的变量都被解析成字符串,如//变量被解析为字符串root@sparkmaste转载 2016-01-04 19:50:23 · 347 阅读 · 0 评论 -
Linux大数据开发基础:第十一节:Shell编程入门(三)
http://blog.csdn.net/lovehuangjiaju/article/details/48913911本节主要内容shell数组shell命令别名时间操作1. Shell数组同C、C++等语言一样,shell脚本也提供了数组这样一个重要的数据结构,shell中的数组有两种,一种为普通数组,另外的一种称为关联数组。普通数据的存取通过整转载 2016-01-04 20:10:40 · 445 阅读 · 0 评论 -
grep用法详解 grep与正则表达式
正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享下: 1基础正则表达式 grep 工具,以前介绍过。 grep -转载 2016-12-11 12:32:25 · 294 阅读 · 0 评论