首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python3

    11.python并发入门 part3

    200 i am Thread-8 , set num 200 i am Thread-9 , set num 200 i am Thread-10 , set num 200 i am Thread-11

    38510发布于 2020-01-08
  • 来自专栏Go语言指北

    Go通关11并发控制神器之Context

    您诸位好啊,我是无尘,今天接着介绍下并发中的操作--Context。 协程如何退出 一个协程启动后,一般是代码执行完毕,自动退出,但是如果需要提前终止怎么办呢? 这种办法须要加锁来保证并发安全,说到这里,有没有想的什么解决方案? 下班咯~~~ Context 介绍 Context 是并发安全的,它是一个接口,可以手动、定时、超时发出取消信号、传值等功能,主要是用于控制多个协程之间的协作、取消操作。

    74630发布于 2021-08-18
  • 来自专栏C++11

    《C++11并发库:简介与应用

    在C++11之前,C++并没有提供原生的并发支持。 相比之下,C++11并发库提供了以下优势:平台无关:C++11并发库是C++标准的一部分,这意味着你可以在任何支持C++11的编译器上使用它,无需考虑平台差异。 异常安全:C++11并发库使用异常来报告错误,这使得错误处理更加简单和安全。 高级特性:C++11并发库提供了一些高级特性,如std::async、std::future和std::promise等,这些特性使得并发编程更加方便和强大。 下面我们将详细介绍这些并发工具的使用。1. 线程(std::thread)C++11的std::thread类提供了对操作系统原生线程的封装。

    39110编辑于 2025-01-15
  • 来自专栏余林丰

    11.并发包阻塞队列之LinkedBlockingQueue

    jdk1.7.0_79   在上文《10.并发包阻塞队列之ArrayBlockingQueue》中简要解析了ArrayBlockingQueue部分源码,在本文中同样要介绍的是Java并发包中的阻塞队列 extends E> c ) { 10   this(Integer.MAX_VALUE); 11   final ReentrantLock putLock = this.putLock; 12 = new Node(e); 9   final ReentrantLock putLock = this.putLock;//插入锁 10   putLock.lock();//获得插入锁 11

    1K90发布于 2018-01-12
  • 来自专栏Java进阶架构师

    【原创】Java并发编程系列11 | 线程调度

    Java并发编程 之前发过,但是因为之前忘记标记原创,没办法收录在【并发编程专题】里面,作为强迫症的我,必须要重发一次。本文为第 11 篇,前面几篇没看过的,可以在文末找到前几篇的跳转链接。 参考资料 《Java 并发编程之美》 《Java 并发编程实战》 《Java 并发编程的艺术》 技术和媒体实验室-Java 并发和多线程教程: http://tutorials.jenkov.com/java-concurrency

    58820发布于 2020-05-26
  • 来自专栏JUC并发原理与源码

    JUC并发11.线程池源码分析

    0100 0000 0000 0000 0000 0000 0000 0000private static final int TIDYING = 2 << COUNT_BITS;//3的二进制是11 这种策略适合用在一些关键业务上,如果这些业务不能承载更大的并发量,那么可以通过抛出的异常及时发现问题并做出相关处理。

    20600编辑于 2025-05-05
  • C++11 并发编程基础(一):并发、并行与C++多线程

    C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。 另外,并发编程可提高应用的性能,这对对性能锱铢必较的C++程序员来说是值得关注的。1. 何为并发并发指的是两个或多个独立的活动在同一时段内发生。 2.2 多线程并发在当个进程中运行多个线程也可以并发。 C++11 标准提供了一个新的线程库,内容包括了管理线程、保护共享数据、线程间的同步操作、低级原子操作等各种类。 C++11 新标准中引入了几个头文件来支持多线程编程:<thread>:包含std::thread类以及std::this_thread命名空间。管理线程的函数和类在 中声明.

    34940编辑于 2023-11-10
  • 来自专栏半旧的技术栈

    Juc并发编程11——深入源码:常用并发容器、阻塞队列使用与原理

    前言 本文将介绍常用的并发容器,比较传统容器与并发容器的区别,介绍并发容器的基本原理。是面试常考、工作常用的热门知识点。 深入源码:常用并发容器、阻塞队列使用与原理 前言 1.传统容器安全吗? 2.常用并发容器介绍 2.1 CopyOnWriteArrayList 2.2 ConcurrentHashMap 3.阻塞队列 3.1 阻塞队列的介绍 3.2 ArrayBlockingQueue源码分析 总的来说,就是由于ArrayList的扩容与元素增加操作为非原子性操作,导致出现了并发安全的问题。 再来看看HashMap。 2.常用并发容器介绍 如何才能够解决容器遇到的并发问题呢?我们首先想到的是使用Synchoronized进行加锁的操作。早期的一些容器比如Vector或者Hashtable就是这么做的。 JUC为我们提供了专门用于并发场景的容器。

    53830编辑于 2022-10-26
  • 来自专栏我的技术专栏

    C++11 并发编程基础(一):并发、并行与C++多线程

    C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。 另外,并发编程可提高应用的性能,这对对性能锱铢必较的C++程序员来说是值得关注的。 1. 何为并发 并发指的是两个或多个独立的活动在同一时段内发生。 2.2 多线程并发 在当个进程中运行多个线程也可以并发。 C++11 标准提供了一个新的线程库,内容包括了管理线程、保护共享数据、线程间的同步操作、低级原子操作等各种类。 C++11 新标准中引入了几个头文件来支持多线程编程: < thread > :包含std::thread类以及std::this_thread命名空间。

    1.5K10编辑于 2022-05-06
  • C++11 并发编程基础(一):并发、并行与C++多线程

    C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。 另外,并发编程可提高应用的性能,这对对性能锱铢必较的C++程序员来说是值得关注的。 1. 何为并发 并发指的是两个或多个独立的活动在同一时段内发生。 2.2 多线程并发 在当个进程中运行多个线程也可以并发。 C++11 标准提供了一个新的线程库,内容包括了管理线程、保护共享数据、线程间的同步操作、低级原子操作等各种类。 C++11 新标准中引入了几个头文件来支持多线程编程: :包含std::thread类以及std::this_thread命名空间。管理线程的函数和类在 中声明.

    61940编辑于 2023-11-11
  • C++11 并发编程基础(一):并发、并行与C++多线程

    C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。 另外,并发编程可提高应用的性能,这对对性能锱铢必较的C++程序员来说是值得关注的。1. 何为并发并发指的是两个或多个独立的活动在同一时段内发生。 2.2 多线程并发在当个进程中运行多个线程也可以并发。 C++11 标准提供了一个新的线程库,内容包括了管理线程、保护共享数据、线程间的同步操作、低级原子操作等各种类。 C++11 新标准中引入了几个头文件来支持多线程编程:<thread>:包含std::thread类以及std::this_thread命名空间。管理线程的函数和类在 中声明.

    1.3K30编辑于 2023-11-10
  • 来自专栏悠扬前奏的博客

    Java并发-11.管道输入输出流

    管道输入/输出流可以用于线程之间的数据传输,传输媒介为内存 有四种实现:PipedOutputStream,PipedInputStream,PipedReader和PipedWriter,前两种面向字节,后两种面向字符 代码示例: import java.io.IOException; import java.io.PipedReader; import java.io.PipedWriter; /** * @author pengjunzhe */ public class Piped {

    72460发布于 2019-05-28
  • 来自专栏JUC

    【JUC基础】11. 并发下的集合类

    2、并发下的ArrayList 2.1、传统方式 如果在JUC中直接使用ArrayList,可能会引发一系列问题。 后面单独会讲 3、并发下的HashSet HashSet和ArrayList存在同样的问题。 hashSet.add(IdUtil.getSnowflakeNextIdStr()); } } } } 那么结果就是我们想要的20000了: 4、并发下的

    30510编辑于 2024-01-25
  • 来自专栏开发语言-Java

    Java并发编程学习11-任务执行演示

    引言上一篇博文带大家了解了任务执行和 Executor 框架的基础知识,本篇将结合这些内容,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。 这个时候通过将上述串行执行的任务分解为多个独立的任务并发执行,就能够获得更高的 CPU 利用率和响应灵敏度。2. 使用 Future 实现页面渲染器为了使页面渲染器实现更高的并发性,首先将渲染过程分解为两个任务,一个是渲染所有的文本,另一个是下载所有的图像。 从一个公司获取报价的过程与从其他公司获得报价的过程无关,因此可以将获取报价的过程当成一个任务,从而使获得报价的过程能并发执行。 总结本文以Demo的形式演示了如何寻找任务中更细粒度的并发场景,对我们的并发应用开发有着一定的借鉴意义。了解了任务执行的基本知识,下篇博文开始我们将介绍如何优雅地取消和关闭任务,敬请期待!

    40211编辑于 2024-11-12
  • 来自专栏技术随笔心得

    并发编程(从C++11到C++17)

    自C++11标准以来,C++语言开始支持多线程模型。借助多线程模型,我们可以开发出更好的并发系统。本文以C++语言为例,讲解如何进行并发编程。 并尽可能涉及C++11,C++14以及C++17中的主要内容。 为什么要并发编程 大型的软件项目常常包含非常多的任务需要处理。例如:对于大量数据的数据流处理,或者是包含复杂GUI界面的应用程序。 由此,掌握并发编程技术,利用多处理器来提升软件项目的性能将是软件工程师的一项基本技能。 本文以C++语言为例,讲解如何进行并发编程。并尽可能涉及C++11,C++14以及C++17中的主要内容。 C++与并发编程 前面我们已经了解到,并非所有的语言都提供了多线程的环境。 即便是C++语言,直到C++11标准之前,也是没有多线程支持的。 这个状态在C++ 11标准发布之后得到了改变。并且,在C++ 14和C++ 17标准中又对并发编程机制进行了增强。 下图是最近几个版本的C++标准特性的线路图。

    1.6K130编辑于 2023-06-13
  • 来自专栏自动化、性能测试

    Jmeter系列(11)- 并发线程组Concurrency Thread Group详解

    category/1746599.html Concurrency Thread Group的介绍 Concurrency Thread Group提供了用于配置多个线程计划的简化方法 该线程组目的是为了保持并发水平 ,意味着如果并发线程不够,则在运行线程中启动额外的线程 和Standard Thread Group不同,它不会预先创建所有线程,因此不会使用额外的内存 对于上篇讲到的Stepping Thread Group Target Concurrency:目标并发(线程数) Ramp Up Time:启动时间;若设置 1 min,则目标线程在1 imn内全部启动 Ramp-Up Steps Count:阶梯次数;若设置 ,得看上面的配置【电脑性能、网络、内存、CPU等因素都会影响最终并发线程数】 Jmeter会根据Target Concurrency的值和当前处于活动状态的线程数来判断当前并发线程数是否达到了Target Concurrency;若没有,则会不断启动线程,尽力让并发线程数达到Target Concurrency的值 Concurrency Thread Group和Stepping Thread Group

    6.5K20发布于 2020-06-09
  • 来自专栏Albert陈凯

    2019-11-21 高并发下System.currentTimeMillis()并发问题以及优化对比

    前言 在高并发场景下System.currentTimeMillis()并发问题严重,甚至比创建一个普通对象要耗时的多;在系统中有时候不可避免要打印一些时间戳,但怎么做才更好呢。 java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicLong; /** * 高并发场景下

    1.5K20发布于 2019-11-21
  • 来自专栏小工匠聊架构

    并发编程-11线程安全策略之线程封闭

    ---- 概述 在上篇博文并发编程-10线程安全策略之不可变对象 ,我们通过介绍使用线程安全的不可变对象可以保证线程安全。 除了上述方法,还有一种办法就是:线程封闭。 不存在并发问题 堆栈封闭其实就是方法中定义局部变量。不存在并发问题。 所以局部变量是不被多个线程所共享的,也就不会出现并发问题。所以能用局部变量就别用全局的变量,全局变量容易引起并发问题。

    54010发布于 2021-08-17
  • 来自专栏Java编程技术

    Java并发编程之美-双11限时五折优惠

    一、内容 [image.png] 二、买家秀 [image.png] [image.png] [image.png] [image.png] 三、购买地址 天猫链接:https://detail.tm

    2.2K30发布于 2018-11-11
  • 来自专栏JAVA并发编程

    JAVA并发编程系列(11)线程池底层原理架构剖析

    之前我们用了10篇文章详细剖析了synchronized、volatile、CAS、AQS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、并发锁 、Condition等各个核心基础原理,今天开始我们说说并发领域的各种工具包还有应用场景。 今天就分享到这,明天分享并发容器CurrentHashMap。

    38720编辑于 2024-09-24
领券