1.什么是并发编程? 并发编程就是可以同时处理多个任务 2.并发的基石是 多道技术 多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用. 同一时间,内存中存储了多个应用程序 ...
分类:
其他好文 时间:
2018-12-28 16:03:01
阅读次数:
125
多任务 并发和并行 Linux作为一个多任务操作系统,必须支持程序的并发执行。 分类 Linux进程调度 发展历史 Linux从2.5版本开始引入一种名为的调度器,后在2.6版本中将公平的的调度概念引入了调度程序,代替之前的调度器,称为算法(完全公平调度算法)。 策略 I/O消耗型和处理器消耗型 I ...
分类:
系统相关 时间:
2018-11-19 21:45:01
阅读次数:
223
1. 什么是协程 协程,英文名称为 Coroutine,经常被称为微线程,纤程,是一种多任务并发的操作手段 PYTHON 中的多任务处理,根据资源消耗情况可以选择多进程并发、多线程并发,同时也可 以在节省系统资源的情况下选择协程并发,协程由于是工作在一个线程中的执行单元,所以 系统资源消耗是最少的 ...
分类:
编程语言 时间:
2018-10-13 15:40:42
阅读次数:
190
一、背景 虽然目前处理器核心数已经发展到很大数目,但是按任务并发处理并不能完全充分的利用处理器资源,因为一般的应用程序没有那么多的并发处理任务。基于这种现状,考虑把一个任务拆分成多个单元,每个单元分别得到执行,最后合并每个单元的结果。 Fork/Join框架是JAVA7提供的一个用于并行执行任务的框 ...
分类:
编程语言 时间:
2018-10-11 22:01:13
阅读次数:
182
一、共同点 功能上都是用于实现多任务并发程序设计的技术手段,线程的状态包括就绪、执行与阻塞,与进程类似 二、区别 1、定义 进程:进程是一个用户程序在同一数据集合上的一次执行过程,而在不同数据集合上或者同一数据集合的不同运行都是不同的进程。 进程是资源分配的基本单位 进程可以创建多个线程,且最少创建 ...
分类:
编程语言 时间:
2018-09-22 18:33:44
阅读次数:
169
一、前言 在完成Map下的并发集合后,现在来分析ArrayBlockingQueue,ArrayBlockingQueue可以用作一个阻塞型队列,支持多任务并发操作,有了之前看源码的积累,再看ArrayBlockingQueue源码会很容易,下面开始正文。 二、ArrayBlockingQueue数 ...
分类:
其他好文 时间:
2018-09-11 17:59:25
阅读次数:
170
FluentScheduler 是什么? Automated job scheduler with fluent interface. 这是作者在 Github 上的介绍,就是一个定时任务管理器。在 .Net 下类似的有微软的 Timer 、 Quartz.NET 、 FluentScheduler ...
分类:
Web程序 时间:
2018-09-03 13:40:10
阅读次数:
284
学习多线程的时候会遇到一个名词:并发。这是属于操作系统中的词汇,需要了解并发和并行的区别,从网上搜集了几种说法帮助理解。 一: 并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时 ...
分类:
其他好文 时间:
2018-08-25 11:47:30
阅读次数:
107
进程:任务 任务并发执行是一个宏观概念,微观上是串行的。 进程的调度是有OS负责的(有的系统为独占式,有的系统为共享式,根据重要性,进程有优先级)。 由OS将时间分为若干个时间片。 JAVA在语言级支持多线程。 分配时间的仍然是OS。 ...
分类:
编程语言 时间:
2018-08-05 13:08:20
阅读次数:
520
程序与进程 隐藏丑陋复杂的硬件接口,提供良好的抽象接口 管理、调度进程,并且将多个进程对硬件的竞争变得有序 并发与并行 无论并行还是并发,在用户看来都是“同时”运行的,不管是进程还是线程,都只是一个任务而已,真正活的是 cpu ,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务: 并发:是伪 ...
分类:
系统相关 时间:
2018-07-04 01:19:58
阅读次数:
207