Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119089
  • 博文数量: 61
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-26 11:35
个人简介

实践Linux的理论

文章存档

2015年(1)

2014年(60)

我的朋友

发布时间:2014-04-29 21:28:31

在Linux下面,创建进程是一件十分有意思的事情。我们都知道,进程是操作系统下面享有资源的基本单位。那么,在Linux下面应该怎么创建进程呢?其实非常简单,一个fork函数就可以搞定了。但是,我们需要清楚的是子进程与父进程之间除了代码是共享的之外,堆栈数据和全局数据均是独立的。[cpp] view plaincopy#include <unis.........【阅读全文】

阅读(715) | 评论(0) | 转发(0)

发布时间:2014-04-29 21:27:36

 所谓进程等待,其实很简单。前面我们说过可以用fork创建子进程,那么这里我们就可以使用wait函数让父进程等待子进程运行结束后才开始运行。注意,为了证明父进程确实是等待子进程运行结束后才继续运行的,我们使用了sleep函数。但是,在linux下面,sleep函数的参数是秒,而windows下面sleep的函数参数是毫秒。[cpp] .........【阅读全文】

阅读(608) | 评论(0) | 转发(0)

发布时间:2014-04-29 21:26:15

信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能,对于我们这些系统程序员来说是最好的一个选择了。要想使用信号处理功能,你要做的就是填写一个信号处理函数即可。一旦进程有待处理的信号处理,那么进程就会立即进行处理。[cpp] view plaincopy#include <stdio.h>  #include <stdlib.h>  .........【阅读全文】

阅读(924) | 评论(0) | 转发(0)

发布时间:2014-04-29 21:24:54

Linux系统本身为进程间通信提供了很多的方式,比如说管道、共享内存、socket通信等。管道的使用十分简单,在创建了匿名管道之后,我们只需要从一个管道发送数据,再从另外一个管道接受数据即可。[cpp] view plaincopy#include <stdio.h>  #include <unistd.h>  #include <stdlib.h>  #include <string..........【阅读全文】

阅读(652) | 评论(0) | 转发(0)

发布时间:2014-04-29 21:23:41

 多线程和多进程还是有很多区别的。其中之一就是,多进程是linux内核本身所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都是相互隔离的,而多线程则不同,不同的线程除了堆栈空间之外所有的数据都是共享的。说了这么多,我们还是自己编写一个多线程程序看看结果究竟是怎么样的。[cpp] view p.........【阅读全文】

阅读(643) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册