匿名管道只能解决具有亲缘关系的进程间通信,但是任意两个进程间不能通信。 FIFO不同于管道之处在于提供了一个路径名与之关联,以FIFO的文件形式存储到文件系统中。 命名管道是一个设备文件,因此进程间不需要亲缘关系,只要可以访问与之关联的路径即可,就能同FIFO通信 命名管道通过mkfifo命名一个管 ...
分类:
系统相关 时间:
2020-05-02 00:07:01
阅读次数:
82
? 队列(Queue)是一个先进先出(FIFO)的数据结构,下面我们直接来看Java里的实现。Queue在Java里作为一个接口,在java.util包下继承自Collection,共有六个方法如下。 | 方法 | 用处 | 出错时 | | | | | | boolean add(E e); | 向 ...
分类:
其他好文 时间:
2020-04-30 19:22:28
阅读次数:
93
分析 使用两个栈,一个主(s1),一个辅(s2) 我们并不需要真正实现类似队列的结构,只需要实现队列的功能即可: push:直接push到s1即可,这时和队列的性质相反(FIFO vs. LIFO) pop:目标是拿到队头,即栈底,只需要把除栈底外的元素移动到辅助栈s2,然后弹出栈底,最后把s2元素 ...
分类:
其他好文 时间:
2020-04-27 19:11:49
阅读次数:
59
Java锁之公平锁和非公平锁 概念 公平锁 是指多个线程按照申请锁的顺序来获取锁,类似于排队买饭,先来后到,先来先服务,就是公平的,也就是队列 非公平锁 是指多个线程获取锁的顺序,并不是按照申请锁的顺序,有可能申请的线程比先申请的线程优先获取锁,在高并发环境下,有可能造成优先级翻转,或者饥饿的线程( ...
分类:
编程语言 时间:
2020-04-27 09:56:32
阅读次数:
71
一、Redis事务的实现原理一个事务从开始到结束通常会经历以下三个阶段:1、事务开始客户端发送MULTI命令,服务器执行MULTI命令逻辑。服务器会在客户端状态(redisClient)的flags属性打开REDIS_MULTI标识,将客户端从非事务状态切换到事务状态。voidmultiCommand(redisClient*c){//不能在事务中嵌套事务if(c->flags&RE
分类:
其他好文 时间:
2020-04-26 17:12:18
阅读次数:
74
序列化pickle dump 写入文件 dumps 生成序列化的字符串 loads 把序列号的字符串反向解析 load 从字符串加载 ...
分类:
其他好文 时间:
2020-04-26 11:24:44
阅读次数:
60
SynchronousQueue 没有长度,每一个入队操作必须对应一个出队操作,或者每一个出队操作必须对应一个入栈操作,否则阻塞。SynchronousQueue内部提供两种模式TransferStack非公平模式(LIFO)和TransferQueue公平模式(FIFO)。 ...
分类:
编程语言 时间:
2020-04-23 23:22:51
阅读次数:
62
232. Implement Queue using Stacks FILO to FIFO MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // returns 1 queue.pop(); // ...
分类:
其他好文 时间:
2020-04-23 20:53:26
阅读次数:
56
1、队列:在表的一端插入,表的另一端删除,允许插入的一端为队尾,允许删除的一端为队头。先进先出FIFO。 2、队列的基本操作 InitQueue(&Q):构造空队列 DestroyQueue(&Q):销毁队列 ClearQueue(&Q):清空队列 QueueEmpty(Q):判断队列是否为空 Qu ...
分类:
编程语言 时间:
2020-04-22 13:43:10
阅读次数:
80
在 Queue 中 poll()和 remove()有什么区别? 答: 队列(queue)是一个典型的先进先出(FIFO)的容器。即从容器的一端放入事物,从另一端取出,并且事物放入容器的顺序与取出的顺序是相同的。 相同点: 都是返回第一个元素,并在队列中删除返回的对象。 不同点: remove() ...
分类:
其他好文 时间:
2020-04-19 11:19:16
阅读次数:
80