一:前言 写这个程序主要是用来理解生产者消费者模型,以及通过这个Demo来理解Redis的单线程取原子任务是怎么实现的和巩固一下并发相关的知识:这个虽然是个Demo,但是只要稍加改下Appender部分也是可以用于项目中的,假设项目里确实不需要log4j/logback之类的日志组件的时候: 二:实现方式 1.利用LinkedList作为MQ(还可以用jdk自带的LinkedBlockingQueue,不过这个Demo主要是为了更好的理解原理因此写的比较底层): 2.利用一个Daemon线程作为…
最近好奇“复杂系统”,收集了点资料,本文关于Cynefin模型和Stacey模型.图文转自互联网后稍做修改. Cynefin模型提供一个从因果关系复杂情度来分析当前情况而作决定的框架,提出有五个领域: 当因果关系显然而见时,是简单的情况(simple),处理手法为"感受-归类-反应" (Sense-Categorise-Respond) 当需要专家作出分析的情况(complicated),处理手法为"感受-分析-反应" (Sense-Analyze-Respond)…
文本信息检索--布尔模型和TF-IDF模型 1. 布尔模型 ​ 如要检索"布尔检索"或"概率检索"但不包括"向量检索"方面的文档,其相应的查询表达式为:Q=检索 and (布尔or 概率 not向量),那么Q可以在其相应的(检索,布尔,概率,向量)标引词向量上取(1,1,0,0)(1,0,1,0)(1,1,1,0),那么文档Dj的向量如果与这中间一个相等,那么即可认为他们之间存在相似关系,而这种相互关系也是布尔值,即sim(Q,Dj)只能为0或1…
贫血模型和DDD模型 1.贫血模型 1.1 概念 常见的mvc三层架构 简单.没有行为 2.领域驱动设计 2.1 概念(2004年提出的) Domain Driven Design 简称 DDD DDD是一种以领域为核心的设计和开发理念.DDD通过维护一个深度反应领域概念的模型,以及提供了可行的经过实践校验的大量模式来应对领域的复杂性 2.2 领域模型的特点 对业务领域做了建模 -- 细粒度的类,易于扩展,容易复用 -- 可以应对复杂的业务逻辑 -- 需要经验掌握 简单的领域模型 -- 几乎和数…
https://mp.weixin.qq.com/s/emB99CtEVXS4p6tRjJ2xww 并发编程:Actors 模型和 CSP 模型 ImportNew 2017-04-27    …
回顾一下前文<三分钟掌握共享内存模型和 Actor模型> Actor vs CSP模型 传统多线程的的共享内存(ShareMemory)模型使用lock,condition等同步原语来强行规定进程的执行顺序. Actor模型,是基于消息传递的并发模型,强调的是Actor这个工作实体,每个Actor自行决定消息传递的方向(要传递的ActorB),通过消息传递形成流水线. 本文现在要记录的是另一种基于消息传递的并发模型: CSP(communicating sequential process顺序…
很简单的两步: 1.获取网页源代码 2.利用正则表达式提取出图片地址 3.下载 #!/usr/bin/python #coding=utf8 import re # 正则表达式 import urllib # 获取网页源代码 # 用正则表达式写一个小爬虫用于保存贴吧里的所有图片 # 获取网页源代码 def getHtml(url): page = urllib.urlopen(url) # 打开url,返回页面对象 html = page.read() # 读取页面源代码 return html…
使用PHP文件锁写一个多个请求同时并发写入一个文件,要求不脏读.数据不丢失. //并发文件操作 function filehandle($filename,$data){ $start = 0; $end = 3000; if(!file_exists($filename)){ return "文件不存在"; } if(!is_string($data)){ return "写入内容只能为字符串类型"; } if($fp = fopen($filename,'a')…
参考教程:http://www.sohu.com/a/237792762_659256 首先说一下这里面涉及到的线程: 1.mainLooper: 这个线程可以理解为消费者线程,里面运行了一个死循环,不断进行消息出队和处理消息这两个动作. 2.workLooper: 这个线程就相当于是生产者线程,进行消息入队. 3.程序本身的线程: 这个线程是隐式的,也就是我们运行程序的这个线程,知道有这样一个东西的存在能帮助我们理解整个程序的运行. 然后介绍每一个类: 1.Message: 这个类的作用是存储…
Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作. 一.  Inception模型(by google) 这个模型的trick是将大卷积核变成小卷积核,将多个卷积核的运算结果进行连接,充分利用多尺度信息,这也体现了这篇文章的标题 Going Deeper with Convolutions.更加深的卷积操作. 废话不多说,上图 注意输入层在底部,输出层在顶部.废话不多说,上keras代码. from keras.layers import Conv2D, Ma…