Linux
啊困兽犹斗
这个作者很懒,什么都没留下…
展开
-
Linux多线程编程的时候如何查看一个进程中的某个线程是否存活
转载:http://www.myexception.cn/program/1401658.htmlLinux多线程编程的时候怎么查看一个进程中的某个线程是否存活pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号转载 2016-03-04 19:17:15 · 730 阅读 · 0 评论 -
TCP的拥塞控制
转载:http://blog.csdn.net/sicofield/article/details/97083831.引言 计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中转载 2016-06-10 16:34:08 · 330 阅读 · 0 评论 -
Linux中的线程局部存储(一)
转载请说明出处:http://blog.csdn.net/cywosp/article/details/26469435 在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程转载 2016-07-01 17:06:59 · 224 阅读 · 0 评论 -
每天进步一点点——Linux中的线程局部存储(二)
转载请说明出处:http://blog.csdn.net/cywosp/article/details/26876231在Linux中还有一种更为高效的线程局部存储方法,就是使用关键字__thread来定义变量。__thread是GCC内置的线程局部存储设施(Thread-Local Storage),它的实现非常高效,与pthread_key_t向比较更为快速,其存储性能可以与全局变转载 2016-07-01 17:11:59 · 256 阅读 · 0 评论 -
异步消息的传递-回调机制
转载:http://blog.csdn.net/allen_young_yang/article/details/6198215简介: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种转载 2016-07-13 20:57:01 · 361 阅读 · 0 评论 -
多线程中使用信号机制 pthread_sigmask()
转载:http://blog.csdn.net/i_am_jojo/article/details/7592219在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到来!)。然而信号处理函数的实现,有着许转载 2016-06-20 20:29:10 · 1760 阅读 · 0 评论 -
prctl()函数应用
int prctl ( int option,unsigned long arg2,unsigned long arg3,unsigned long arg4,unsigned long arg5 )这个系统调用指令是为进程制定而设计的,明确的选择取决于option:PR_GET_PDEATHSIG :返回处理器信号; PR_SET_PDEATHSIG :arg2作为处理器信号pd转载 2016-07-18 19:34:44 · 329 阅读 · 0 评论 -
各种Mutex(互斥量)的区别
转载:http://blog.csdn.net/onlyou930/article/details/6432206各种Mutex的区别 锁类型初始化方式加解锁特征调度特征普通锁PTHREAD_MUTEX_INITIALIZER同一线程可重复加锁,解转载 2016-08-05 15:39:07 · 539 阅读 · 0 评论 -
自旋锁和互斥锁区别
转载:http://blog.csdn.net/sunmenggmail/article/details/8105279POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临转载 2016-08-05 15:55:41 · 436 阅读 · 0 评论 -
进程间通信---共享内存
转载:http://blog.chinaunix.net/uid-26833883-id-3230564.html一、IPC(Inter-Process Communication,进程间通信)对象的介绍System V 的IPC对象有共享内存、消息队列、信号灯。注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都转载 2016-08-05 17:53:33 · 253 阅读 · 0 评论 -
linux中mmap系统调用原理分析与实现
1、mmap系统调用(功能) void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset ) 内存映射函数mmap, 负责把文件内容映射到进程的虚拟内存空间, 通过对这段内存的读取和修改,来实现对文件的读取和修改,而不需要再调用read,write等操作。转载 2016-08-30 16:21:39 · 477 阅读 · 0 评论 -
linux 共享内存shm_open实现进程间大数据交互
转载:http://blog.csdn.net/maopig/article/details/16920907read.c #include #include #include #include #include #include #include #include /*int shm_open(const char *name, int o转载 2016-08-30 16:23:35 · 1725 阅读 · 1 评论 -
LINUX udhcpc命令
转载:http://blog.csdn.net/hshl1214/article/details/8684740http://blog.csdn.net/peixiuhui/article/details/46456691由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持: 1,接入已有网络。这便要求可以作为dhcp客户端。转载 2016-11-08 15:00:36 · 6404 阅读 · 0 评论 -
Web Service 的工作原理
转载:http://www.cnblogs.com/Jessy/p/3528341.htmlWeb Service基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行转载 2016-11-08 17:34:25 · 290 阅读 · 0 评论 -
onvif规范 中文介绍
转载:http://blog.csdn.net/ghostyu/article/details/8162193什么是ONVIF ?ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。ONVIF规范转载 2016-11-08 20:49:49 · 1086 阅读 · 0 评论 -
TCP 的那些事儿(下)
转载:http://blogread.cn/it/article/7277TCP 的那些事儿(下)这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个转载 2016-06-10 16:32:50 · 609 阅读 · 0 评论 -
TCP 的那些事儿(上)
转载:http://blogread.cn/it/article/7276?f=wbTCP 的那些事儿(上)TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP转载 2016-06-10 15:44:00 · 409 阅读 · 0 评论 -
Linux线程同步 屏障
转载:http://www.linuxidc.com/Linux/2016-01/127766p5.htm一.概述 barrier(屏障)与互斥量,读写锁,自旋锁不同,它不是用来保护临界区的。相反,它跟条件变量一样,是用来协同多线程一起工作!!!条件变量是多线程间传递状态的改变转载 2016-06-09 13:16:14 · 597 阅读 · 0 评论 -
fork与vfork的区别
转载:http://blog.csdn.net/jianchi88/article/details/6985326fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定 vf转载 2016-03-08 14:28:08 · 464 阅读 · 0 评论 -
exit()与_exit()函数的区别(Linux系统中)
转载:http://blog.chinaunix.net/uid-12461657-id-3140887.html注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。作为系统调用而言,_exit和转载 2016-03-08 14:39:34 · 435 阅读 · 0 评论 -
【C/C++】Linux下使用system()函数一定要谨慎
转载:http://my.oschina.net/renhc/blog/53580曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必转载 2016-03-08 15:44:36 · 571 阅读 · 0 评论 -
setsid()函数的作用
转载:http://blog.chinaunix.net/uid-30025978-id-4760323.htmlsetsid()之前parent和child运行在同一个session里,而且parent是session头,所以作为session头的parent如果exit结束执行的话,那么会话session组中的所有进程将都被杀死,所以执行setsid()之后,parent将重新获得一个新的转载 2016-03-08 17:11:10 · 1643 阅读 · 0 评论 -
守护进程的创建方法和步骤
转载:http://blog.chinaunix.net/uid-25365622-id-3055635.html概念: 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd转载 2016-03-08 20:56:08 · 1055 阅读 · 0 评论 -
epoll的高效实现原理
转载:http://blog.chinaunix.net/uid-17299695-id-3059110.html开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,转载 2016-02-24 16:54:03 · 366 阅读 · 0 评论 -
fcntl函数详解
转载:http://blog.csdn.net/pbymw8iwm/article/details/7974789功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int转载 2016-02-24 20:49:59 · 315 阅读 · 0 评论 -
linux文件链接
转载:http://blog.chinaunix.net/uid-23544029-id-311348.html链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。我们首先来了解一下几个名词:索引节点(inode)要了解链接转载 2016-02-25 16:09:48 · 334 阅读 · 0 评论 -
linux网络编程之shutdown() 与 close()函数详解
转载:http://blog.csdn.net/lgp88/article/details/71765091.close()函数[cpp] view plain copy print?"font-size:13px;">#include int close(int sockfd); //返回成功为0,出错为-1.转载 2016-02-25 20:13:00 · 346 阅读 · 0 评论 -
pthread_detach()函数
转载:http://blog.csdn.net/david_xtd/article/details/9384261创建一个线程默认的状态是joinable。如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码).所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代转载 2016-02-25 20:29:59 · 320 阅读 · 0 评论 -
exec函数族的使用
转载:http://blog.chinaunix.net/uid-20672257-id-3415907.html转载:http://blog.csdn.net/hustspy1990/article/details/7448242exec用被执行的程序完全替换调用它的程序的影像。fork创建一个新的进程就产生了一个新的PID,exec启动一个新程序,替换原有的进程,因此这个新的被转载 2016-02-26 20:23:57 · 348 阅读 · 0 评论 -
ioctl用法详解
转载:http://blog.csdn.net/styyzxjq2009/article/details/8023501ioctl 函数本函数影响由fd 参数引用的一个打开的文件。 #includeint ioctl( int fd, int request, .../* void *arg */ );返回0 :成功 -1 :出错转载 2016-03-23 14:46:54 · 4427 阅读 · 0 评论 -
深入理解socket网络异常
转载:http://blog.163.com/kefeng_1984/blog/static/16661527201532153616854/在各种网络异常情况的背后,TCP是怎么处理的?又是怎样把处理结果反馈给上层应用的?本文就来讨论这个问题。分为两个场景来讨论建立连接1 正常情况下 进过三次握手,客户端连接成功,服务端有一个新连接到来。转载 2016-04-27 19:45:29 · 1223 阅读 · 0 评论 -
函数popen()
转载:http://blog.csdn.net/qian_f/article/details/8227435函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止转载 2016-06-09 12:00:19 · 747 阅读 · 0 评论 -
valgrind 的使用简介
zz自 http://blog.csdn.NET/destina/article/details/6198443 感谢作者的分享!一 valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework)转载 2017-02-16 20:11:32 · 363 阅读 · 0 评论