
并发
longlovefilm
这个作者很懒,什么都没留下…
展开
-
单例模式的演进
单例模式的演进过程 DCL原创 2022-08-13 13:52:05 · 190 阅读 · 0 评论 -
CompletableFuture使用详解
https://blog.youkuaiyun.com/admin123404/article/details/111168902原创 2021-01-15 19:59:14 · 211 阅读 · 0 评论 -
Java的Object.wait(long)
Java的Object.wait(long)在等待时间过去后会继续往后执行吗 Object.wait(long)方法相比于wait,多了个等待时长,那么当等待时长过去后,线程会继续往下执行吗? 单个线程执行 多个线程并发执行 public class ThreadWaitDemo { public static final int WAIT_IN_SECONDS = 2; public static final int NOTIFY_IN_SECONDS = 6; public static v原创 2020-11-27 00:58:39 · 807 阅读 · 1 评论 -
多线程中sleep、yield、join的用法及sleep与wait区别
Object中的wait、notify、notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁(监视器)为中心的通信方法 除了它们之外,还有用于线程调度、控制的方法,他们是sleep、yield、join方法,他们可以用于线程的协作,他们是围绕着线程的调度而来的 sleep方法 有两个版本的sleep方法,看得出来,核心仍旧是native方法 非native方法只是进行了参数校验,接着仍旧是调用原创 2020-11-19 21:54:49 · 416 阅读 · 0 评论 -
JUC AQS ReentrantLock源码分析(一)
Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷性的隐式获取锁释放锁机制(基于JVM机制),但是它却缺少了获取锁与释放锁的可操作性,可中断、超时获取锁,且它为独占式在高并发场景下性能大打折扣。 如何自己来实现一个同步 自旋实现一个同步 volatile int status=0;//标识--.转载 2020-11-14 15:32:09 · 85 阅读 · 0 评论 -
多线程算法题目汇总
1 两个线程交替打印自然数 方法1: package com.lzg.flume.intercepter.thread.test21; public class Test { public static void main(String[] args) { Object o = new Object(); Thread thread1 = new Thread(new PrintNum(o), "thread1"); Thread thread.原创 2020-11-09 20:57:02 · 813 阅读 · 0 评论 -
Java并发编程:线程池的使用
https://www.cnblogs.com/dolphin0520/p/3932921.html Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 ...转载 2018-10-08 17:57:40 · 94 阅读 · 0 评论 -
Python并发编程之线程池/进程池
转载 http://python.jobbole.com/87272/ 引言 Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间。但从Python3.2开始,标准库为我们提供了concurrent.futu...转载 2018-09-29 17:11:19 · 810 阅读 · 0 评论 -
如何为Kafka集群选择合适的Topic/Partitions数量
这是许多kafka使用者经常会问到的一个问题。本文的目的是介绍与本问题相关的一些重要决策因素,并提供一些简单的计算公式。 越多的分区可以提供更高的吞吐量 首先我们需要明白以下事实:在kafka中,单个patition是kafka并行操作的最小单元。在producer和broker端,向每一个分区写入数据是可以完全并行化的,此时,可以通过加大硬件资源的利用率来提升系统的吞吐量,例如对数据进行压缩...转载 2018-12-14 19:05:23 · 1352 阅读 · 0 评论