写点什么

多线程

94 人感兴趣 · 468 次引用

  • 最新
  • 推荐

一文带你搞清楚 Python 的多线程和多进程

Python作为一种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之一。在本文中,我们将探讨Python中多线程与多进程的概念、区别以及如何使用线程池与进程池来提高并发执行效率。

Linux 多线程

地址空间是进程能看到的拥有的资源的大小

java 多线程编程:你真的了解线程中断吗?

java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用。当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常。事实上, interrupt 方法只是改变目标线程的中断状态(interrupt status),而那些会抛出InterruptedException

https://static001.geekbang.org/infoq/e8/e8b91e3c991154925557b83fc1a4faff.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

互联网大厂的缓存策略:抵抗超高并发的秘密武器,已开源!

用户头像
冰河
06-11

良好的缓存设计不仅仅能够提升系统的总体性能,还能作为抗瞬时流量洪峰的有效防线。可以这么说,如果整个秒杀系统前置的流量管控、流量清洗和限流等是秒杀系统流量洪峰的第一道防线,则本地缓存就是抗流量洪峰的第二道防线,而分布式缓存就是第三道防线

如何创建一个线程池,为什么不推荐使用 Executors 去创建呢?

我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口、Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法:

聊聊 python 多线程与多进程

因为我们如果按照流程一步步执行任务实在是太慢了,假如一个任务就是10秒,两个任务就是20秒,那100个任务呢?况且cpu这么贵,时间长了就是浪费生命啊!一个任务比喻成一个人,别个做高铁,你做绿皮火车,可想而知!接下来我们先看个例子:

synchronized 原理 - 字节码分析、对象内存结构、锁升级过程、Monitor

05-24

本文分析的问题: synchronized 字节码文件分析之 monitorenter、monitorexit 指令 为什么任何一个Java对象都可以成为一把锁? 对象的内存结构 锁升级过程 Monitor 是什么、源码查看

面试官:这就是你理解的 Java 多线程基础?

现代的操作系统(Windows,Linux,Mac OS)等都可以同时打开多个软件(任务),这些软件在我们的感知上是同时运行的,例如我们可以一边浏览网页,一边听音乐。而CPU执行代码同一时间只能执行一条,但即使我们的电脑是单核CPU也可以同时运行多个任务,如下图所

是时候来唠一唠 synchronized 关键字了,Java 多线程的必问考点!

在之前的博文中,我们介绍了volatile关键字,Java中的锁以及锁的分类,今天我们花5分钟时间,一起学习一下另一个关键字:synchronized。

Spring 多线程事务处理

本文主要介绍了spring多线程事务的解决方案,心急的小伙伴可以跳过上面的理论介绍分析部分直接看最终解决方案。

深入解析 Python 并发编程的多线程和异步编程

在Python编程中,多线程是一种常用的并发编程方式,它可以有效地提高程序的执行效率,特别是在处理I/O密集型任务时。Python提供了threading模块,使得多线程编程变得相对简单。本文将深入探讨threading模块的基础知识,并通过实例演示多线程的应用。

https://static001.geekbang.org/infoq/72/7254da6ab4dc80efc3223e7f63aa3fe1.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深入解析 Python 并发编程的多线程和异步编程

本文将深入探讨threading模块的基础知识,并通过实例演示多线程的应用。

多线程系列 (一) - 线程技术入门知识讲解

在很多场景下,我们经常听到采用多线程编程,能显著的提升程序的执行效率。例如执行大批量数据的插入操作,采用单线程编程进行插入可能需要 30 分钟,采用多线程编程进行插入可能只需要 5 分钟就够了。

https://static001.geekbang.org/infoq/c0/c0e9d517ff4b74e9bba8c578036d4070.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

异步编程利器:CompletableFuture 深度解析

在异步编程中,CompletableFuture 类为我们提供了一种强大而灵活的方式来处理异步编程需求。CompletableFuture 类提供了丰富的方法和功能,能够简化异步任务的处理和组合。

https://static001.geekbang.org/infoq/c5/c58fd65c625d54fc37824cab4609ecbf.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

使用 Node.js 实现多线程的最佳实践

用户头像
Liam
01-10

在 Node.js 的世界中,多线程技术一直是一个受到广泛关注的领域。最初,Node.js 设计为单线程模式。随着技术发展,Node.js 引入了多线程支持,进而利用多核处理器的强大性能,提升了应用性能。接下来的内容将深入探讨 Node.js 如何实现多线程,以及在何种场

https://static001.geekbang.org/infoq/c0/c0919d1a5799336aafdb0474b9c4e07f.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【Redis 技术专区】「原理分析」探讨 Redis6.0 为何需要启用多线程

在Redis 6.0版本中,引入了多线程技术,这是为了进一步提高Redis的性能和并发处理能力。通过启用多线程,Redis能够同时处理多个客户端请求,有效地利用多核处理器资源,提高系统的吞吐量和响应速度。

https://static001.geekbang.org/infoq/f8/f8cc3f32dff69d49ed4d98ed8ff7c439.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【并发编程】CountDownLatch 详解与原理

本文讲解什么是CountDownLatch,CountDownLatch的特点以及使用场景,对CountDownLatch的数据结构与countDown()方法、await()方法源码进行剖析。

Java 核心知识体系 8:Java 如何保证线程安全性

维度1:使用关键字、属性进行优化JMM本质实际就是:Java 内存模型规范了 JVM 如何提供按需禁用缓存和编译优化的方法。这些方法包括了:

https://static001.geekbang.org/infoq/fc/fc0e6914c9c024450f78850452dd0aac.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Python 笔记二之多线程

用户头像
Hunter熊
2023-12-10

本篇笔记主要介绍 Python 中多线程的操作,包括多线程的使用、异常处理和结果的获取

https://static001.geekbang.org/infoq/6e/6ecf0b1f0d3bf82903f4194bbfd604ca.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

探秘 Spring Boot Async:解析原理与实践详解

用户头像
Apifox
2023-12-08

Spring Boot 的异步功能(Async)允许我们将某些任务异步执行,而不会阻塞主线程。这对于处理耗时的操作非常有用,如发送电子邮件、生成报表、调用外部 API 等。通过异步处理,我们可以释放主线程,让它继续处理其他请求,同时后台任务在后台线程中进行。这

Java 多线程消费消息

关键词:Java,多线程,消息队列,rocketmq

Java 利用 JUC CountDownLatch 线程池 Executors 实现多线程操作

用户头像
javaNice
2023-11-06

Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作

https://static001.geekbang.org/infoq/7d/7d1853cc1a40d9ce6fa18d88c34d04cb.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

如何正确使用多线程和锁机制来构建可靠的程序

通过阅读本文,读者将了解到多线程和锁机制在并发编程中的重要性,以及如何避免常见的并发问题,确保程序的安全性和可靠性。

Java 并发 Map 的面试指南:线程安全数据结构的奥秘

用户头像
程序那些事
2023-09-19

在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。

一文搞懂 ThreadLocal 原理

在多线程编程中,经常会遇到需要在不同线程中共享数据的情况。通常情况下,为了保证线程安全,我们需要使用锁或其他同步机制。然而,有些情况下,我们希望在每个线程中都有一份独立的数据副本,这就是ThreadLocal派上用场的地方。

杰哥教你面试之一百问系列:java 中高级多线程 concurrent 的使用

用户头像
程序那些事
2023-09-07

提到多线程,当然要熟悉java提供的各种多线程相关的并发包了,而java.util.concurrent就是最最经常会使用到的,那么关于concurrent的面试题目有哪些呢?一起来看看吧。

提高程序并发性能:Java 多线程编程

用户头像
xfgg
2023-09-07

随着互联网的普及,近年来大数据、人工智能、区块链等新兴领域的快速发展,应用程序对于性能的要求也越来越高。对于Java开发者而言,多线程编程已经成为了必备技能之一,因为这是提高程序并发性能的核心。在实际开发中,我们可以通过优化多线程代码来提高程序

https://static001.geekbang.org/infoq/7d/7dba56eba2fdf921c1df80c658b5fb40.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

死锁产生的条件及解决方法

用户头像
红袖添香
2023-08-22

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

https://static001.geekbang.org/infoq/5a/5a5561f728efee15ace81b24fbcbe0c3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

CPU 缓存行

用户头像
红袖添香
2023-08-14

cpu cache 读取过程CPU Cache 的数据是从内存中读取过来的,以一小块一小块读取数据的,而不是按照单个数组元素来读取数据的,在 CPU Cache 中的,这样一小块一小块的数据,称为 Cache Line (缓存块)

https://static001.geekbang.org/infoq/59/599925ac3335af0f0efdaf1bef94e09b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

多线程知识:三个线程如何交替打印 ABC 循环 100 次

本文博主给大家讲解一道网上非常经典的多线程面试题目。关于三个线程如何交替打印ABC循环100次的问题。

多线程_多线程技术文章_InfoQ写作社区