swoole 协程通道 为了协程直接互相通讯传递数据 和go的通道很相似 Co\run(function(){ $chan = new Swoole\Coroutine\Channel(1); Swoole\Coroutine::create(function () use ($chan) { fo ...
分类:
其他好文 时间:
2020-07-19 23:38:57
阅读次数:
108
面试官问到,阻塞线程有几种方法? 你可以这么扩展的讲。 4种方法,从是否释放锁资源的角度来说,locksupport.park(),thread.sleep()不会是否锁资源, condition.await()/object.wait()会释放锁资源。接下来按照下图,讨论区别 ...
分类:
编程语言 时间:
2020-07-19 21:12:16
阅读次数:
60
Semaphore Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。应用场景:资源访问,服务限流。 Semaphore 实现AbstractQueuedSynchronizer的方法与ReentrantLock一样 Semaphore构造方法 public Sema ...
分类:
其他好文 时间:
2020-07-18 22:55:40
阅读次数:
108
一、RabbitMQ简介 1. 应用场景 (1)任务异步处理 ? 将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。缩短了应用程序的响应时间。 (2)应用程序解耦合 ? MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行了解耦合。 2. 工作原理 ? 下图是Rab ...
分类:
其他好文 时间:
2020-07-18 22:55:09
阅读次数:
100
Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据 Flume架构和核心组件 Source 收集 Channel 处理 Sink 输出 1.安装java1.8版本 https://www.cnblogs.com/yoyo1216/p/12668926.html 2.创建 ...
分类:
Web程序 时间:
2020-07-18 22:50:30
阅读次数:
97
参考:https://blog.csdn.net/u013332124/article/details/84647915 ...
分类:
其他好文 时间:
2020-07-18 22:05:16
阅读次数:
62
# Name the components on this agenta1.sources = r1a1.channels = c1 c2a1.sinks = k1 k2 #将数据流复制给所有channel#下边这句是默认的,不配置也可以#a1.sources.r1.selector.type = ...
分类:
Web程序 时间:
2020-07-18 19:54:00
阅读次数:
103
预备知识 Java线程的生命周期 概览 本文探究一下Java最基础的机制之一:线程同步 我们先讨论一些并发相关的术语和方法论,接着会提供一个简单例子来处理并发问题,可以帮助我们更好的理解wait()和notify()方法。 线程同步 多线程环境下,每个线程都可能去修改相同资源,如果线程没有被较好的管 ...
分类:
编程语言 时间:
2020-07-18 15:48:03
阅读次数:
66
内核kernel 操作系统负责整个系统运行的调度管理,包括管理各个硬件(如:cpu, 内存,磁盘,网卡等)以及在系统的上运行的各个应用程序。当计算机从关机状态启动,启动的第一个程序是操作系统内核,内核启动,将会注册GDT表(内存的分段信息),表中会记录操作系统单独拥有的一段内存空间,这部分空间只有操 ...
分类:
系统相关 时间:
2020-07-18 15:45:19
阅读次数:
75
1.使用wait()/notifyAll实现生产者和消费者 1 /** 2 * 锁对象类 3 * 协作类 4 */ 5 public class MyQueue { 6 private Queue<Integer> queue; 7 private int limit; 8 9 public MyQ ...
分类:
编程语言 时间:
2020-07-18 15:30:39
阅读次数:
71