![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 80
a304672343
代码其实是一种乐趣吗?
展开
-
linux-进程
linux中 pipe 子进程写,父进程读。pipe(int pipe_fd[2])创建管道。文件描述符pipe_id[0]和pipe_id[1]分别用于管道文件的读和写。写之前,close读;读之前,close写。pid=fork()产生子进程。pid==0 为父进程, pid>0为子进程。原创 2012-10-16 16:54:45 · 534 阅读 · 0 评论 -
Linux多线程编程入门-同步机制-信号量
int sem_init(sem_t *sem, int pshared, unsigned int value);pshared:控制信号量的类型,0表示这个信号量是当前进程的局部信号量,否则,这个信号量就可以在多个进程之间共享。 value:信号量的初始值。int sem_post(sem_t *sem);以原子操作的方式给信号量的值加1。这里的原子操作指两个线程企图同时给原创 2013-12-03 11:59:12 · 715 阅读 · 0 评论 -
linux多线程编程入门-同步机制-互斥量
所谓同步,并不是日常用语中的同时进行的意思。这里的同步是指如何阻止同步进行的意思。互斥量,又称互斥锁,它允许程序员锁住某个对象,使得每次只能有一个线程访问它。为了控制对关键代码的访问,必须在进入这段代码之前锁住一个互斥量,然后在完成操作之后解锁。一个非常简单的应用互斥锁的很直观的例子,如果去掉锁,则结果不同。这仅是一个简单的范例,在实际应用中,多线程对同一个元素的操作都需要加锁,否则总有概原创 2013-12-03 10:40:25 · 824 阅读 · 0 评论 -
linux线程入门之一第一个线程函数
最适合使用线程的实现以下功能的应用: 1 计算密集型应用,为了能在多处理器系统上运行,将这些计算分解到多个线程中实现。 2I/O密集型应用,为提高性能,将I/O操作重叠。很多线程可以同时等待不同的I/O操作。分布式服务器应用就是很好的实例,它们必须享受多个客户的请求,必须为通过慢速的网络连接主动提供I/O做好准备。多线程通常比串行程序更快、响应性能更好,它们比实现同样功能的非线原创 2013-12-01 19:08:33 · 1277 阅读 · 0 评论 -
Linux多线程编程入门-同步机制-条件变量
Linux平台上触发条件变量则自动复位。条件变量的置位和复位有两种常用模型:第一种模型是当条件变量置位(signaled)以后,如果当前没有线程在等待,其状态会保持为置位(signaled),直到有等待的线程进入被触发,其状态才会变为复位(unsignaled),这种模型的采用以 Windows 平台上的 Auto-set Event 为代表。其状态变化如图 1 所示:原创 2013-12-04 14:56:21 · 856 阅读 · 0 评论 -
linux进程
unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件。对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。sys/types.h中文名称为基本系统数据类型。在原创 2013-12-04 23:00:19 · 766 阅读 · 0 评论