第16章 多线程 16.1 线程概述 16.1.1 线程和进程 16.1.2 多线程的优势 16.2 线程的创建和启动 16.2.1 继承Thread类创建线程类 16.2.2 实现Runnable接口创建线程类 16.2.3 使用Callable和Future创建线程 16.2.4 创建线程的三种 ...
分类:
编程语言 时间:
2019-03-20 11:48:37
阅读次数:
200
博客: https://mortoray.com/ 重排序:https://mortoray.com/2010/11/18/cpu-reordering-what-is-actually-being-reordered/ 双检锁:https://mortoray.com/2012/02/28/dou ...
分类:
其他好文 时间:
2019-03-17 23:33:12
阅读次数:
166
web服务的事务过程:客户端通过useragent(浏览器)发起请求,服务端响应(httpd、apache)web服务的核心协议是应用层的http或https协议Nginx:engineX=Nginxhttp协议:web服务器(类似httpd)、httpreverseproxy(类似于httpd)、imap/pop3reverseproxy---更多的是应用在reverseproxyNGINXis
分类:
Web程序 时间:
2019-03-16 23:34:53
阅读次数:
308
# DButils 为了解决多客户端都需要操作数据库的问题. # import pymysql # from DBUtils.PooledDB import PooledDB # # POOL = PooledDB(creator=pymysql, # mincached=2, # maxcache... ...
分类:
数据库 时间:
2019-03-04 12:46:47
阅读次数:
506
提交一个任务到线程池中,线程池的处理流程如下: 1、判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下个流程。 2、线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的任务存储在这个工 ...
分类:
编程语言 时间:
2019-02-27 17:32:33
阅读次数:
189
场景要求 客户端调用服务器a.php接口,需要执行一个长达5s-20s不等的耗资源操作,但是客户端响应请求时间为5秒(微信公众账号服务器请求响应超时时间),5s以上无回复即断开连接。 解决设想 客户端调用a.php之后,a.php执行异步多线程操作调用b.php,a.php调用成功后即刻反馈给客户端 ...
分类:
编程语言 时间:
2019-02-26 13:07:51
阅读次数:
267
最近看了一文说到异步是单线程的,顿时就傻眼了,对相关概念和同事进行了一些讨论和总结. 文中的描述是以我的理解来说的,可能不一定准确甚至正确,有错欢迎指正. 这三个概念我认为是描述不同的维度的,概念正交. 异步 同步 异步和同步是不同的流程设计风格. 但存在依赖关系的操作之间是同步的,也就是如果操作B ...
分类:
编程语言 时间:
2019-02-25 09:26:00
阅读次数:
212
1.1 mysql中锁概念 1、MyISAM和InnoDB支持的锁类型 1. 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。 2. MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking)。 3. InnoDB存储引 ...
分类:
数据库 时间:
2019-02-22 21:25:24
阅读次数:
184
1.非阻塞1.1,PriorityQueue:优先级队列,存入的元素可以实现Comparable,从而按照自定义的顺序去执行 1.2,LinkedList:双向链表,实现了Dequeue接口2.阻塞 2.1,ArrayBlockingQueue:数组队列a.底层是数组,读取快,增删慢b.指定公平性( ...
分类:
编程语言 时间:
2019-02-14 11:53:55
阅读次数:
254
pipenv 将 composer、bundler、npm、yarn、cargo 等比较方便的包管理工具添加到了python 语言中,可以 帮助我们自动的管理virtualenv ,同时可以方便的从pipefile 中添加或者移除包 pipenv 解决的问题 我们不用在独立的使用pip 以及viru ...
分类:
编程语言 时间:
2019-02-04 19:43:12
阅读次数:
250