RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特... ...
分类:
其他好文 时间:
2019-01-01 14:56:33
阅读次数:
178
一、进程锁(同步锁/互斥锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理。 例子 加锁后 例子2 多个进程共享同一文件 文件当数据库,模拟抢票 未加锁版 输出结果 加锁版 分析 ...
分类:
编程语言 时间:
2018-12-31 23:45:23
阅读次数:
383
1.模拟实现kafka的生产者消费者(原生API)解决相关依赖:<!--https://mvnrepository.com/artifact/org.apache.kafka/kafka--><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.12</
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确
分类:
编程语言 时间:
2018-12-30 23:23:37
阅读次数:
347
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确
分类:
编程语言 时间:
2018-12-30 16:17:50
阅读次数:
209
Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持, ...
分类:
编程语言 时间:
2018-12-30 02:32:28
阅读次数:
234
小知识点:在子进程中不能使用input输入! 一.守护进程 守护进程表示一个进程b 守护另一个进程a 当被守护的进程结束后,那么守护进程b也跟着结束了 应用场景:之所以开子进程,是为了帮助主进程完成某个任务,然而,如果主进程认为自己的事情一旦做完了就没有必要使用子进程了,就可以将子进程设置为守护进程 ...
分类:
系统相关 时间:
2018-12-29 23:34:19
阅读次数:
274
守护进程: b 进程守护 a进程,当a进程执行完毕时,b进程会跟着立马结束 守护进程用途: 如果父进程结束了,子进程无需运行了,就可以将子进程设置为父进程的守护进程 例如我们qq视频聊天时,当我们退出qq时,视频界面会跟着退出,视频就是qq的守护进程 守护进程语法: p.daemon = True ...
分类:
系统相关 时间:
2018-12-29 23:22:57
阅读次数:
290
守护进程:一个进程B守护另一个进程A,当被守护的进程A结束,进程B也就结束了。(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程,否则抛出异常。 注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止 应用场景:如果主进程认为一旦自 ...
分类:
系统相关 时间:
2018-12-29 23:20:15
阅读次数:
282
黑板模式的意图 黑板模式是观察者模式的一个扩展,知名度并不高,但使用的范围却非常广. 其意图为: 允许消息的读写同时进行, 广泛的交互消息. 简单的说, 黑板模式允许多个消息读写者同时存在, 消息的生产者和消费者完全分开. 这就像一个黑板, 任何一个老师(消息的生产者)都可以在上面书写消息, 任何一 ...
分类:
其他好文 时间:
2018-12-29 23:12:57
阅读次数:
200