![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高级编程
文章平均质量分 67
not_give_up_
这个作者很懒,什么都没留下…
展开
-
消息队列
消息队列(Message Queue)基本概念来源: ningg.top 发布时间: 2016-01-28 12:14 阅读: 31611 次 推荐: 25 原文链接 [收藏] 背景 之前做日志收集模块时,用到flume。另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列。而在我自己提出的原始转载 2017-03-29 20:57:49 · 294 阅读 · 0 评论 -
exec函数族
说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...原创 2017-03-28 17:15:20 · 252 阅读 · 0 评论 -
软链接和硬链接的创建
硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。硬链接可由命令 link 或 ln 创建,如:link oldfile newfile ln oldfile newfile由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。硬链接不能对目录进行创建,只可对文件创建。软链接(也叫符号链接)与硬链接不同,文件用户数据转载 2017-03-28 12:01:58 · 1660 阅读 · 0 评论 -
dup和dup2
正常的文件描述符:在linux下,通过open打开以文件后,会返回一个文件描述符,文件描述符会指向一个文件表,文件表中的节点指针会指向节点表。看下图:打开文件的内核数据结构dup和dup2两个函数都可以用来复制打开的文件描述符,复制成功后和复制源共享同一个文件表。看下图:执行dup后的内核数据结构(1)dup函数fd1=dup(fd)原创 2017-03-26 18:48:54 · 422 阅读 · 0 评论 -
makefile的粗浅理解
最近学习了makefile,写一点点对makefile的理解linux下:mkdir demo在demo下面写了几个文件vi add.cint add(int a,int b){return a+b;}vi sub.cint sub(int a,int b){return a-b;}vi mul.cint mul原创 2017-03-26 00:19:06 · 450 阅读 · 0 评论 -
进程和线程的区别
进程是什么?程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。这是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU转载 2017-03-30 22:21:11 · 159 阅读 · 0 评论 -
共享内存
共享内存:共享存储允许两个或更多进程共享一给定的存储区。若服务器正在将数据放入共享存储区,则在它做完这一操作之前,客户进程不应当去取这些数据。通常,信号量被用来实现对共享存储访问的同步。 为获得一个共享存储段,调用的第一个函数通常是shmget。 intshmget(key_t key,size_t size,int flag);类似于msgget();成功返回共享存储段标识符转载 2017-03-30 11:48:35 · 200 阅读 · 0 评论 -
高级编程中消息队列的具体使用方法
键每个内核中的IPC结构(消息队列、信号量或共享存储段)都用一个非负整数的标识符加以引用,为了对一个消息队列发送或取消息,只需要知道其队列标识符。键是在用户空间的,标识符是在内核空间的,一个标识符映射一个键。 用户 内核键 标识符1==> 655362==> 98305 调用get函数(msgget()、semget()和shmget())时必须指定键表示引转载 2017-03-30 11:19:36 · 902 阅读 · 0 评论 -
消息队列的使用场景
rebbitmq,activemq 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。 在企业应用集成(EAI)中,文件传输,共转载 2017-03-30 10:31:36 · 269 阅读 · 0 评论 -
ftok函数
关于ftok函数,先不去了解它的作用来先说说为什么要用它,共享内存,消息队列,信号量它们三个都是找一个中间介质,来进行通信的,这种介质多的是。就是怎么区分出来,就像唯一一个身份证来区分人一样。你随便来一个就行,就是因为这。只要唯一就行,就想起来了文件的设备编号和节点,它是唯一的,但是直接用它来作识别好像不太好,不过可以用它来产生一个号。ftok()就出场了。ftok函数具体形式如下: key_转载 2017-03-30 10:07:58 · 768 阅读 · 0 评论 -
信号量、互斥锁,读写锁和条件变量的区别
原文地址:信号量、互斥锁,读写锁和条件变量的区别 作者:qqrilxk信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在那里)。当信号量为单值信号量是,也可以完成一个资源的互斥访问。有名信号量:可以用于不同进程间或多线程间的互斥与同步 创建打开有名信号量 s转载 2017-03-29 21:42:55 · 265 阅读 · 0 评论 -
互斥锁Mutex与信号量Semaphore的区别
互斥锁Mutex与信号量Semaphore的区别 (2012-04-21 13:19:52)转载▼ <div class="articalTag" id="sina_keyword_ad_area"> <table> <tbody><tr> <td class="blog_t转载 2017-03-29 21:30:16 · 554 阅读 · 0 评论