
Linux
文章平均质量分 78
u013322907
这个作者很懒,什么都没留下…
展开
-
ubuntu inittab
转到kubuntu之前曾经学习了一下,了解到ubuntu在6.10开始用upstart替代init,主要脚本都在/etc/event.d下面,默认情况下/etc下没有inittab文件。刚装上kubuntu时候专门到/etc/event.d下看了一下,特别注意到rc-default这个脚本,里面有一段内容:说明默认情况下inittab虽然不存在,但是用户建立的initt转载 2013-12-31 10:26:14 · 598 阅读 · 0 评论 -
用户级线程和内核级线程
转载于http://col1.blog.163.com/blog/static/1909775192012719114033352/1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,转载 2014-09-22 16:55:21 · 464 阅读 · 0 评论 -
阻塞与非阻塞的区别
阻塞与非阻塞的区别简单点说:阻塞就是干不完不准回来, 非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果T转载 2014-09-15 22:13:45 · 370 阅读 · 0 评论 -
linux-多线程
linux-多线程yuan一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。二、什么时候使用多线程? 当多个任务可以并行转载 2014-09-17 19:31:00 · 349 阅读 · 0 评论 -
Linux多线程,线程的分离与结合
Linux多线程,线程的分离与结合http://www.cnblogs.com/mydomain/archive/2011/08/14/2138454.html(2)线程的分离与结合 在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存转载 2014-09-17 19:41:08 · 382 阅读 · 0 评论 -
读写锁
读写锁:/*使用读写锁实现四个线程读写一段程序的实例,共创建了四个新的线程,其中两个线程用来读取数据,另外两个线程用来写入数据。在任意时刻,如果有一个线程在写数据,将阻塞所有其他线程的任何操作。*//*#include#include #include #include #include char words[1024]={"123456"};转载 2014-09-17 22:21:06 · 441 阅读 · 0 评论 -
Linux 多线程同步之哲学家用餐问题
有五个哲学家公用一张餐桌,分别坐在周围的五张椅子上,在餐桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和用餐。平时,一个哲学家进行思考,饥饿时便试图拿取其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐,进餐完毕,放下筷子继续思考。(计算机操作系统 第三版)书上为代码:[cpp] view plaincopyprint?转载 2014-10-06 16:41:09 · 676 阅读 · 0 评论 -
自旋锁
http://blog.youkuaiyun.com/kyokowl/article/details/6294341POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Cri转载 2014-10-06 15:27:04 · 404 阅读 · 0 评论 -
IO
1 基本概念 IO操作是程序设计里的一个重头戏,尤其是在Linux中,管道、网络等设备都看成了文件描述符,因此IO对于Linux程序设计更加重要。近年来,随着Nginx、lighttpd等新型高性能web服务器的广泛使用,其内部采用的epoll、异步IO等IO模型逐渐走入了人们的视野。本文将探究Linux各个IO模型的来龙去脉、基于原理与相互之间的联系,并进行IO效率与性能的转载 2014-10-07 20:36:08 · 373 阅读 · 0 评论 -
五种I/O 模式
五种I/O 模式:【1】 阻塞 I/O (Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】 非阻塞 I/O (可以通过fcntl或者open时使用O_NONBLOCK参数,将fd设置为非阻塞的I/O)【3】 I/O 多路复用 (I/O多路复用,通常需要转载 2014-10-07 20:37:38 · 432 阅读 · 0 评论 -
Linux中select poll和epoll的区别
Linux中select poll和epoll的区别http://www.cnblogs.com/bigwangdi/p/3182958.html在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在高性能服务器领域转载 2014-09-18 20:07:20 · 342 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步
socket阻塞与非阻塞,同步与异步转自:http://blog.youkuaiyun.com/hguisu/article/details/74533901. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用转载 2014-09-19 11:36:37 · 348 阅读 · 0 评论 -
条件变量实现生产消费问题
#include "stdio.h"#include #include #define N_CONSUMER 3 //消费者数量#define N_PRODUCER 2 //生产者数量#define C_SLEEP 1 //控制 consumer 消费的节奏#define P_SLEEP 1 //控制 producer 生产的节奏pthread_mutex_t mutex;p原创 2014-09-18 13:27:33 · 433 阅读 · 0 评论 -
两个线程对一个变量进行++操作,直至变量值为20
两个线程对一个变量进行++操作,直至bian#include#include #include #include #include pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;int tmp=0;void printids(const char *s){ pid_t pid; pthread_t ti原创 2014-09-17 21:21:59 · 3017 阅读 · 1 评论 -
条件变量
http://www.cnblogs.com/aicro/archive/2009/06/26/1512001.html条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此转载 2014-09-18 10:21:48 · 387 阅读 · 0 评论 -
子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。yir#include #include #include #include #include pthread_mutex_t mutex;pthread_cond_t cond;int n=1;void *fu原创 2014-09-18 15:47:02 · 784 阅读 · 0 评论 -
编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。#include #include #include #include #include //#define DEBUG 1#define NUM 3int n=0;pthread_mutex_t原创 2014-09-18 15:10:59 · 2605 阅读 · 0 评论 -
ps命令
http://desert.blog.51cto.com/779694/335979系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下: ps是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必转载 2014-09-18 16:35:46 · 377 阅读 · 0 评论 -
pthread_cond_wait
1. 首先pthread_cond_wait 的定义是这样的The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are called with mutex locked by the calling thread or u转载 2014-09-18 09:53:56 · 422 阅读 · 0 评论 -
信号量实现线程同步
#include "stdio.h"#include #include #include #define N_CONSUMER 3 //消费者数量#define N_PRODUCER 2 //生产者数量#define C_SLEEP 1 //控制 consumer 消费的节奏#define P_SLEEP 1 //控制 producer 生产的节奏pthread_mutex_t原创 2014-09-18 14:11:17 · 541 阅读 · 0 评论 -
linux编程-守护进程编写
http://blog.youkuaiyun.com/zg_hover/article/details/2553321 linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进转载 2014-09-18 18:31:58 · 350 阅读 · 0 评论 -
同一进程中的线程究竟共享哪些资源
转自:http://blog.chinaunix.net/u1/43706/showart_1161524.html线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才转载 2014-10-05 21:11:13 · 488 阅读 · 0 评论