http://www.infoq.com/cn/articles/java-threadPool?utm_source=infoq&utm_campaign=user_page&utm_medium=link
原创 2017-05-19 15:30:00
490阅读
作者:汤圆 个人博客:javalover.cc 前言 前面在线程安全性中介绍过全局变量(成员变量)和局部变量(方法或代码块内变量),前者在多线程中是不安全,需要加锁等机制来确保安全,后者是线程安
转载 2021-07-06 11:26:25
342阅读
三军可夺帅也,匹夫不可夺志也。———《论语》上一篇讲到同步容器类潜在问题,可以通过两个方法解决。可以通过客户端加锁解决。可以使用并发容器类来解决问题。客户端加锁方法我们已经知道,所以,这一篇介绍一下并发容器类原理,看它是如何解决这些问题。下面看下并发容器框架图:这里写图片描述我们从上图可以看到,它们分为五大类:Map, List, Set,Collection,Queue, 同步容器类都是
原创 2018-06-05 22:36:07
1420阅读
进程和线程1.进程是程序在操作系统中一次执行过程,系统进行资源分配和调度一个独立单位。 2.线程是进程一个执行实体,是CPU调度和分派基本单位,它是比进程更小能独立运行基本单位。 3.一个进程可以创建和撤销多个线程;同一个进程中多个线程之间可以并发执行。 并发和并行1.多线程程序在一个 ...
转载 2021-08-07 17:53:00
57阅读
2评论
并发编程简介将串行执行部分编程并发执行,但要考虑上下文切换和资源调度时间并发编程意义及影响多线程因素并发编程目的是为了让程序运行得更快,但是,并不是启动更多线程就能让程序最大限度地并发执行。影响多线程运行速度原因有上下文切换、死锁,以及硬件和软件资源限制等资源限制:硬件资源和软件资源硬件资源:如宽带硬盘读写内存cpu处理速度软件资源:如数据库连接数、socket连接数等上下文切换即使
原创 2019-01-03 16:19:11
364阅读
 本文主要介绍工具包括: CountDownLatch Semaphore CyclicBarrier Exchanger CountDownLatch CountDownLatch可以使一个或多个线程等待一组事件发生。在CountDown
转载 2013-02-08 17:27:21
287阅读
前言要学习好Java多线程,就一定得对volatile关键字作用机制了熟于胸。最近博主看了大量关于volatile相关博客,对其有了一点初步理解和认识,下面通过自己的话叙述整理一遍。有什么用?volatile主要对所修饰变量提供两个功能可见性防止指令重排序<br>本篇博客主要对volatile可见性进行探讨,以后发表关于指令重排序博文。什么是可见性?一图胜千言上图已经把JA
原创 2018-05-17 18:11:22
375阅读
1点赞
1评论
Java并发编程高级内容介绍
原创 精选 2016-12-17 22:23:06
2105阅读
1. ThreadLocal 是如何保证线程安全? 简单来说,造成线程不安全原因是多个线程同时去更新共享数据,处理共享数据常用方法就是加锁,通过加锁方式来控制线程对共享数据访问,例如乐观锁和悲观锁。 ThreadLocal 保证线程安全方式是为每个线程提供一个独立变量副本来解决冲突问题 ...
转载 2021-10-20 20:50:00
96阅读
2评论
Java并发五:JDK并发包1详细介绍
转载 2019-12-25 11:31:45
321阅读
概念DelayQueue是一个支持延时获取元素无界阻塞队列。队列使用PriorityQueue来实现。队列中元素必须实现Delayed接口,在创建元素时可以指
原创 2022-07-04 10:44:32
275阅读
一、为什么要引入并发编程 场景一:一个网络爬虫,按顺序爬花了一个小时,采用并发下载减少到20分钟 场景二:一个APP应用,优化前每次打开页面需要3秒,采用异步编发提升到每次200毫秒 引入并发,就是为了提升程序运行速度 二、有哪些程序提速方法 三、Python对并发编程支持 ①多线程:threa Read More
原创 2021-10-29 09:13:50
191阅读
并发上下文中,非阻塞算法是一种允许线程在阻塞其他线程情况下访问共享状态算法。在绝大多数项目中,在算法中如果一个线程挂起没有导致其它线程挂起,我们就说这个算法是非阻塞。 为了更好理解阻塞算法和非阻塞算法之间区别,我会先讲解阻塞算法然后再讲解非阻塞算法。 阻塞并发算法 一个阻塞并发算法一
原创 2021-07-20 13:47:40
68阅读
ThreadFactory翻译过来是线程工厂,顾名思义,就是用来创建线程,它用到了工厂模式思想。它通常和线程池一起使用,主要用来控制创建新线程时一些行为,比如设置线程优先级,名字等等。它是一个接口,接口中只有一个方法: 下面定义MyThreadFactoryTest1类实现ThreadFac
原创 2021-08-10 16:35:33
144阅读
并发模拟工具介绍 ① Postman : Http请求模拟工具 从图上我们可以看出,Postman模拟并发其实是分两步进行操作.第一步:左边窗口,在窗口中设置相关接口以及参数,点击运行进行第二步.第二步:查看结果. ② Apache Bench(AB) : Apache附带工具,测试网站性能
原创 2021-07-20 13:36:53
240阅读
在过去单 CPU 时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶
原创 2023-05-05 23:17:54
118阅读
并发上下文中,非阻塞算法是一种允许线程在阻塞其他线程情况下访问共享状态算法。在绝大多数项目中,在算法中如果一个线程挂起没有导致其它线程挂起,我们就说这个算法是非阻塞。 为了更好理解阻塞算法和非阻塞算法之间区别,我会先讲解阻塞算法然后再讲解非阻塞算法。 阻塞并发算法 一个阻塞并发算法一
原创 2021-08-02 09:12:24
271阅读
Java 并发集合框架提供了一系列线程安全集合类,用于在多线程环境中进行高效数据存取和操作。其中,阻塞队列(Blocking Queue)是一种重要并发数据结构,常用于生产者-消费者模式和线程池等场景中。本文将介绍 Java 中阻塞队列主要接口和实现类。1. 阻塞队列接口:BlockingQueueBlockingQueue 是一个支持阻塞操作队列接口,它在 Queu
原创 精选 10月前
328阅读
Mysql锁和并发参数介绍一、Mysql并发参数调整从实现上来说,MySQL Server 是多线程结构
原创 2021-12-04 17:46:48
136阅读
CountDownLatch 它被用来同步一个或多个任务,强制它们等待其他任务运行一组操作完毕。 你能够向CountDownLatch对象设置一个初始计数值,不论什么在这个对象上调用await()方法都将堵塞。直至这个计数值到达0。其他任务在结束其工作时。能够在该对象上调用countDown...
转载 2016-01-15 08:28:00
79阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5