标签

 线程 

相关的文章:

本列表页涵盖了线程的生命周期、性能优化、异步编程和并发控制等方面的内容。了解线程的生命周期,掌握性能优化技巧,理解异步编程和并发控制的原理,将有助于提升代码的效率和稳定性。

Nicksxs's Blog -

Java 线程池系列-第二篇

介绍了线程池的目的和实现概述,以及如何初始化的,我们就来开始看看线程池最重要的执行过程老规矩,还是先把注释翻译下,这个对理解逻辑其实非常重要,后面可以循着注释的逻辑来看代码第一步,如果是少于核心线程数的线程正在运行,那么尝试去开启一个新线程,并把提交的命令

本文介绍了线程池的目的和实现概述,以及线程池的执行过程。首先会尝试开启新线程执行任务,然后将任务放入队列,如果队列已满则再开启新线程。代码中的addWorker方法是关键,用于判断线程池状态并添加新线程。

相关推荐 去reddit讨论

解道jdon.com -

使用 Jetty 12 演示 Ktor 中的虚拟线程支持

这是使用虚拟线程在 Jetty 12 上运行 Ktor 的演示背景:我花了足够长的时间研究反应式数据库驱动程序等,并受到这个问题 的启发,我决定构建一个 POC,使用 Jetty 12 演示 Ktor 中的虚拟线程支持。其中大部分是改编自现有 Ktor Jetty 引擎的代码,但是我已经完全放弃了 servlet 支持,这应该是运行 Jetty 的最快方式。它应该非常容易使用,添加 dep 并启动​​服务器,如下所示:fun main(args: Array) {    val config = CommandLineConfig(args)    EmbeddedServer

Jetty 12在Ktor中展示了虚拟线程支持,通过线程调度器将Jetty 12与Ktor集成。但与Ktor 2.x.x不兼容,不支持新的kotlinx IO库,HTTPX/websocket支持无法正常工作,仅限Java 21+。

相关推荐 去reddit讨论

解道jdon.com -

Java中Quarkus使用虚拟线程

Java 21 的引入带来了一项革命性的功能——虚拟线程。这些由Java 虚拟机(JVM)管理的轻量级线程有望重塑开发人员在 Java 应用程序中处理并发性的方式。并发应用程序开发长期以来一直充满挑战,在管理传统操作系统管理的线程时通常充满复杂性。Quarkus框架的核心是一个以开发人员为中心的现代化工具包,专为云原生时代而设计。它拥有闪电般的启动时间和低内存消耗,同时为开发人员提供了一套广泛的工具来构建微服务和云原生应用程序。在本教程中,我们将了解Quarkus 如何利用 Java 的虚拟线程,从而改变 Java 应用程序中管理并发的方式。什么是Java中的并发自诞生以来,Java 在管理线

Java 21引入了一项名为虚拟线程的革命性功能,它是由Java虚拟机(JVM)管理的轻量级线程。Quarkus是一个面向开发人员的框架,旨在为云原生应用程序提供虚拟线程的并发管理。虚拟线程提供了改进的可扩展性和资源利用率。Quarkus无缝集成了虚拟线程,允许开发人员编写命令式代码并从虚拟线程的优势中受益。然而,需要仔细考虑和解决线程争用、垄断和内存管理等挑战。建议优化虚拟线程的使用并遵循最佳实践以实现最佳性能和可维护性。

相关推荐 去reddit讨论

Nicksxs's Blog -

Java 线程池系列-第一篇

这一篇我们继续聊线程池,一般线程池会介绍我们的参数,我先不一样一些我们先来翻译一下

这篇文章介绍了线程池的参数配置和构造方法。线程池可以提高执行大量异步任务的性能,并管理资源。线程池有可调参数和可扩展性。文章还提供了使用Executors工厂方法的建议。构造方法配置了核心线程数、最大线程数、线程保活时间、工作队列等参数,并使用了默认的线程工厂和拒绝处理器。

相关推荐 去reddit讨论

dotNET跨平台 -

c#线程安全讲解

C#中的线程安全是指在多线程环境下对共享资源进行访问时,能够保证程序的正确性和可靠性。在多线程编程中,常常会出现多个线程同时访问同一个共享资源的情况,如果不加以控制,可能会导致数据错乱、死锁、竞争条件等问题。下面介绍一些保证线程安全的常见技术:1. 锁机制锁机制是一种常见的多线程编程技术,它用于保护共享资源,防止多个线程同时对共享资源进行访问,导致数据错乱或者异常。常见的锁机制包括:Monitor...

C#中的线程安全技术包括锁机制、原子操作、线程安全集合和可重入锁等。选择合适的技术很重要,同时要注意避免死锁和性能问题。

相关推荐 去reddit讨论

华为云官方博客 -

一个线程,从“生”到“死”经历的过程

通用的线程生命周期总体上可以分为五个状态:初始状态、可运行状态、运行状态、休眠状态和终止状态。

本文讨论了线程的生命周期,包括初始状态、可运行状态、运行状态、休眠状态和终止状态。Java线程生命周期包括初始化状态、可运行/运行状态、阻塞状态、无时限等待状态、有时限等待状态和终止状态。线程状态的转换取决于不同的场景。

相关推荐 去reddit讨论

Nicksxs's Blog -

Java 线程池系列-准备篇

Java 线程池是 Java

Java线程池是Java并发体系的重要组成部分,文章介绍了线程池的参数和逻辑,以及判断线程池状态和线程数量的方法。COUNT_BITS表示Java用四个字节存储一个整数,ctl的前三位存储线程池状态,后29位存储线程数量。CAPACITY表示线程池的最大容量。runStateOf和workerCountOf是对ctl进行操作的方法。文章旨在帮助刚开始学习的同学。

相关推荐 去reddit讨论

OpenResty 官方博客 -

相关推荐 去reddit讨论

dotNET跨平台 -

C# 线程本地存储 为什么线程间值不一样

一:背景 1. 讲故事有朋友在微信里面问我,为什么用 ThreadStatic 标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问了,那我试着帮他解答一下,也给后面类似疑问的朋友解个惑吧。二:为什么值不一样 1. 问题复现为了方便讲述,定义一个 ThreadStatic 的变量,然后用多个线程去访问,参考代码如下:internal...

ThreadStatic标记的字段只有第一个线程拿到了初始值,其他线程都是默认值。通过汇编代码可以看到,每个线程都有一个ThreadLocalBlock结构体,其中包含了ThreadLocalModule字典,存储了ThreadStatic字段的值。如果ThreadLocalModule不存在,则会调用JIT_GetNonGCThreadStaticBase_Helper函数创建并初始化。通过验证可以得出结论。

相关推荐 去reddit讨论

dotNET跨平台 -

.NET8极致性能优化-线程

点击上方蓝字 江湖评谈设为关注前言首先来看下,为什么性能会一直持续性优化。.NET8引入的SSE-XMM(16字节)Register和AVX-YMM(32字节)Register是关键,传统的Register一般指令集层次能移动的最多只有8位,就算是最新的x64系统。但是SSE和AVX改变了这种局面,它们能一次性移动64位系统的一倍乃至四倍,这就是优化的关键。前面本公众号(jianghupt)多篇文...

本文介绍了.NET8中的性能和线程优化,包括引入SSE-XMM和AVX-YMM寄存器以提升性能,使用ThreadStatic属性进行线程优化,以及.NET8中的线程池优化。

相关推荐 去reddit讨论

热榜 Top10

...
LigaAI
...
eolink
...
ShowMeBug
...
白鲸技术栈
...
Dify.AI
...
天勤数据
...
观测云

推荐或自荐