目录 01.Java和线程 02.Java与协程 03.CPU缓存结构和java内存模型 04.管程-悲观锁和锁优化 05.乐观锁 - 无锁方案 06.线程安全 07.线程池 08.JUC 09.高并发测试 10.类加载器 Java与线程 线程的类型 线程是比进程更轻量级的调度执行单位,线程的引入, ...
分类:
编程语言 时间:
2020-06-26 18:45:04
阅读次数:
72
线程安全 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的 Brian Goetz 多线程安全问题是什么? 问题: 多线程在修改共享资源的时 ...
分类:
编程语言 时间:
2020-06-26 18:37:58
阅读次数:
78
注: 本篇文章主要集中在Linux CFS调度器源码解析。文章代码分析基于Linux-4.18.0。 一、进程的创建 进程的创建是通过do_fork()函数完成。新进程的诞生,我们调度核心层会通知调度类,调用特别的接口函数初始化新生儿。我们一路尾随do_fork()函数。do_fork() >_do ...
分类:
其他好文 时间:
2020-06-26 16:37:46
阅读次数:
70
1. Scrapy使用了Twisted异步网络库来处理网络通讯,整体架构: Scrapy爬虫框架主要由5个部分组成,分别是:Scrapy Engine(Scrapy引擎),Scheduler(调度器),Downloader(下载器),Spiders(蜘蛛),Item Pipeline(项目管道)。爬 ...
分类:
其他好文 时间:
2020-06-26 10:21:18
阅读次数:
58
Yarn资源调度系统 一、课前准备 1. 三个节点的hadoop集群 二、课堂主题 1. yarn架构、核心组件 2. yarn应用提交过程 3. yarn的调度策略 4. yarn的优化 三、课堂目标 1. 数据yarn资源的任务调度原理 2. 熟练对yarn集群进行维护 3. 了解如何使用YAR ...
分类:
其他好文 时间:
2020-06-25 23:50:34
阅读次数:
115
TCP 异步风格服务器 异步风格服务器通过监听事件的方式来编写程序。当对应的事件发生时底层会主动回调指定的函数。 由于默认开启协程化,在回调函数内部会自动创建协程,遇到 IO 会产生协程调度,异步风格服务器无法保证调度顺序,所以在遇到并发时无法保证事件执行顺序。 # server.php // 创建 ...
分类:
其他好文 时间:
2020-06-25 21:31:35
阅读次数:
85
CPU调度的概念:按一定的调度算法从就绪队列中选择一个进程,并将CPU的使用权交给被选中的进程 CPU调度要解决的三个问题: 调度算法——包括多方面的考虑 用户角度的考虑:(1)性能:周转时间、响应时间、最后期限;(2)其他:可预测性 系统角度的考虑:(1)性能:吞吐量、CPU利用率;(2)其他:公 ...
分类:
其他好文 时间:
2020-06-25 17:16:13
阅读次数:
106
并发性是一系列性能技术,专注于减少等待 如果你的程序中的一个任务由于程序控制之外的某些条件(通常是I/O)而无法继续,我们会说任务或线程阻塞 进程和线程 线程的调度: 分时调用 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间 抢占式调度 优先让优先级较高的线程使用CPU,如果线程的 ...
分类:
编程语言 时间:
2020-06-25 15:40:37
阅读次数:
69
Airflow 入门及使用 Airflow 入门及使用 什么是 Airflow? Airflow 是一个使用 python 语言编写的 data pipeline 调度和监控工作流的平台。 Airflow 是通过 DAG(Directed acyclic graph 有向无环图)来管理任务流程的任务 ...
分类:
其他好文 时间:
2020-06-25 13:31:57
阅读次数:
98
图中绿色的是数据的流向 我们看到图里有这么几个东西,分别是 Spiders:爬虫,定义了爬取的逻辑和网页内容的解析规则,主要负责解析响应并生成结果和新的请求 Engine:引擎,处理整个系统的数据流处理,出发事物,框架的核心。 Scheduler:调度器,接受引擎发过来的请求,并将其加入队列中,在引 ...
分类:
其他好文 时间:
2020-06-25 11:58:04
阅读次数:
46