J.U.C AQS 原理 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架 特点: 用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取 锁和释放锁 getState - 获取 state 状态 se ...
分类:
其他好文 时间:
2020-06-26 18:09:03
阅读次数:
50
管程 悲观锁(阻塞) 临界区 一段代码块对共享资源存在多个线程的读写操作, 我们就叫它临界区 临界区存在多个线程竞争共享资源的问题, 由于分时系统, 我们的cpu不能一直负责一条线程的执行, 所以在cpu切换的时候需要保存当时的场景, 之后cpu回来后需要恢复场景再次执行代码, 我们简称这个过程为线 ...
分类:
其他好文 时间:
2020-06-26 18:02:01
阅读次数:
112
Java与协程 内核线程的局限 通过一个具体场景来解释目前Java线程面临的困境。今天对Web应用的服务要求,不论是在请求数量上还是在复杂度上,与十多年前相比已不可同日而语,这一方面是源于业务量的增长,另一方面来自于为了应对业务复杂化而不断进行的服务细分。现代B/S系统中一次对外部业务请求的响应,往 ...
分类:
编程语言 时间:
2020-06-26 17:59:18
阅读次数:
74
1、Thread多线程编程举例 关键字:前台线程,后台线程,线程优先级,线程休眠,线程阻塞。 1 class MultiThreadingApplication { 2 static void Main(string[] args) { 3 //Thread thread1 = new Thread ...
分类:
编程语言 时间:
2020-06-26 13:00:28
阅读次数:
140
什么是nginx? Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 目前使用的最多的web服务器或者代理服务器,像淘宝、新浪、网易、迅雷等都在使用 为什么要用 ...
分类:
其他好文 时间:
2020-06-26 01:44:58
阅读次数:
412
其中有四个知识点我单独罗列了出来,属于多线程编程中需要知道的知识: 知识点1:X,T为泛型,为什么要用泛型,泛型和Object的区别请看:https://www.cnblogs.com/xiaoxiong2015/p/12705815.html 知识点2:线程池:https://www.cnblog ...
分类:
编程语言 时间:
2020-06-25 23:44:55
阅读次数:
111
1. java常见队列: (1) ArrayBlockingQueue: 一个基于数组结构的有界阻塞队列, FIFO(先进先出)。(2) LinkedBlockingQueue: 一个基于链表结构的阻塞队列, 此队列按FIFO (先进先出) 排序元素, 吞吐量通常要高于ArrayBlockingQu ...
分类:
编程语言 时间:
2020-06-25 21:19:17
阅读次数:
345
在工作中,会遇到需求多线程处理相应的业务需求,最典型的包括Socket的通信。 多线程处理里,就会考虑到,哪个线程先运转,哪个线程后运转的情况。 这里我介绍一下,运用ManualResetEvent类来对线程进行堵塞和持续操作。 它有三个重要的办法:Reset、Set和WaitOne。 1、首先介绍 ...
分类:
编程语言 时间:
2020-06-25 17:50:33
阅读次数:
60
并发性是一系列性能技术,专注于减少等待 如果你的程序中的一个任务由于程序控制之外的某些条件(通常是I/O)而无法继续,我们会说任务或线程阻塞 进程和线程 线程的调度: 分时调用 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间 抢占式调度 优先让优先级较高的线程使用CPU,如果线程的 ...
分类:
编程语言 时间:
2020-06-25 15:40:37
阅读次数:
69
一.前言 前文探究了非阻塞算法的实现ConcurrentLinkedQueue安全队列,也说明了阻塞算法实现的两种方式,使用一把锁(出队和入队同一把锁ArrayBlockingQueue)和两把锁(出队和入队各一把锁LinkedBlockingQueue)来实现,今天来探究下ArrayBlockin ...
分类:
编程语言 时间:
2020-06-25 12:10:12
阅读次数:
95