写点什么

线程

51 人感兴趣 · 165 次引用

  • 最新
  • 推荐

java 中的线程模型和线程池

原文合集地址如下,有需要的朋友可以关注

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

定时任务原理方案综述 | 京东云技术团队

本文主要介绍目前存在的定时任务处理解决方案。业务系统中存在众多的任务需要定时或定期执行,并且针对不同的系统架构也需要提供不同的解决方案。京东内部也提供了众多定时任务中间件来支持,总结当前各种定时任务原理,从定时任务基础原理、单机定时任务(单

线程的生命周期和常用方法

根据jdk官方文档,线程状态有以下几种

线程是如何通讯的?

线程通讯指的是多个线程之间通过共享内存或消息传递等方式来协调和同步它们的执行。在多线程编程中,通常会出现多个线程需要共同完成某个任务的情况,这时就需要线程之间进行通讯,以保证任务能够顺利地执行。

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

字节二面:HashMap 线程不安全体现在哪里?

HashMap线程不安全体现在哪里?如果你到现在还不清楚赶紧看下去,明明白白补一补~。

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

重新学习 Java 线程原语

Synchronized曾经是一个革命性的技术,在当前仍然有重要的用途。但是,现在是时候转向更新的Java线程原语,同时重新考虑我们的核心逻辑。

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

Java 中线程的 6 种状态详解 (NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)

java.lang.Thread.State枚举类中定义了六种线程的状态,可以调用线程Thread中的getState()方法获取当前线程的状态。

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

StampedLock:JDK1.8 中新增,比 ReadWriteLock 还快的锁

StampedLock是一种在读取共享变量的过程中,允许后面的一个线程获取写锁对共享变量进行写操作,使用乐观读避免数据不一致的问题,并且在读多写少的高并发环境下,比ReadWriteLock更快的一种锁。

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

JAVA 多线程并发编程 - 避坑指南

本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。

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

从零开始自己动手写阻塞队列

在上面我们已经谈到了阻塞队列是并发安全的,而且我们还有将线程唤醒和阻塞的需求,因此我们可以选择可重入锁ReentrantLock保证并发安全,但是我们还需要将线程唤醒和阻塞,因此我们可以选择条件变量Condition进行线程的唤醒和阻塞操作,在Condition当中我们

还不知道如何在 java 中终止一个线程? 快来, 一文给你揭秘

工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢?

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

慧销平台 ThreadPoolExecutor 内存泄漏分析

京东生旅平台慧销系统,作为平台系统对接了多条业务线。但近期根据告警发现内存持续升高,因此猜测该系统可能存在内存泄漏的情况。本文通过此案例,介绍慧销平台ThreadPoolExecutor内存泄漏问题的详细分析过程。

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

谈 JVM 参数 GC 线程数 ParallelGCThreads 合理性设置

目前广泛使用的GC算法,包括PS MarkSweep/PS Scavenge, ConcurrentMarkSweep/ParNew, G1等,都可以通过ParallelGCThreads参数来指定JVM在并行GC时参与垃圾收集的线程数。该值设置过小,GC暂停时间变长影响RT,设置过大则影响吞吐量,从而导致CPU过高。

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

记录一次还算优雅的代码设计

本文重点分享商卡聚合服务的代码设计,包括合理的Sirector线程调度(cpu使用率低),和可维护性的设计。 简版代码示例如下: git@github.com:changwenbiao/demosoa.git

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

如何理解高性能服务器的高性能、高并发?

作为国内品牌服务器厂商,蓝海大脑液冷GPU服务器拥有大规模并行处理能力和无与伦比的灵活性。它主要用于为计算密集型应用程序提供足够的处理能力。GPU的优势在于可以由CPU运行应用程序代码,同时图形处理单元(GPU)可以处理大规模并行架构的计算密集型任务。

为什么说 IO 密集型业务,线程数是 CPU 数的 2 倍?

I/O密集型业务,线程数量要设置成 CPU 的 2 倍!

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

得物视频编辑工具优化全指南

用户头像
得物技术
2022-11-29

随着4G网络的推广和网络带宽的提升,视频成为互联网用户主要的消费载体,用户通过短视频来分享和浏览信息。由此视频的编辑功能越来越重要、越来越普遍。视频编辑的App也如雨后春笋般涌现。

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

ThreadPool 的线程开启、线程等待、线程池的设置、定时功能

用户头像
C++后台开发
2022-11-25

ThreadPool简介:ThreadPool是一个线程池,当你需要开启n个线程时候,只需把这个指令抛给线程池,它将自动分配线程进行处理,它诞生于.Net 2.0时代。

看完这篇线程、线程锁与线程池讲解,面试随便问!

用户头像
小小怪下士
2022-11-17

单线程——多线程的开启——线程锁——线程同步工具——手写连接池——连接池工具类。

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

双线程技术为什么能让小程序用户体验量级提升

用户头像
Onegun
2022-11-09

如今我们每个人都是小程序的使用者,小到日常的健康码,大到各种政务事项办理。究其因,对于用户来讲小程序无需下载,用完即走而且其具备轻量、流畅的使用体验;对于开发者来讲便捷简单的开发流程,学习的门槛极低,这也是小程序能够逐步受到广大使用者和开发

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

【C++ 多线程那些事儿】多线程的执行顺序如你预期吗?

用户头像
C++后台开发
2022-11-02

一个简单的例子 先来看一个多线程的例子: 如图所示,我们将变量x和y初始化为0,然后在线程1中执行: x = 1, m = y; 同时在线程2中执行: y = 1, n = x; 当两个线程都执行结束以后,m和n的值分别是多少呢?

CountDownLatch 源码硬核解析

用户头像
JAVA旭阳
2022-10-29

对于并发执行,Java中的CountDownLatch是一个重要的类,简单理解, CountDownLatch中count down是倒数的意思,latch则是“门闩”的含义。在数量倒数到0的时候,打开“门闩”, 一起走,否则都等待在“门闩”的地方。

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

Linux 线程 - 生产消费模型 / 线程池

用户头像
可口也可樂
2022-10-23

本章主要讲解学习Linux线程章节的后一部分,主要介绍生产消费者模型以及信号量的学习

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

Linux 线程 - 同步与互斥

用户头像
可口也可樂
2022-10-23

本章主要讲解学习Linux中对多线程的执行中的互斥与安全问题

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

探究线程与进程的区别这一问题

用户头像
C++后台开发
2022-10-20

进程和线程基础(理论概念) 1. 定义 看了下面的定义,可能会有点晕,但我还是要把他写下来(为了严谨)。 进程是资源(CPU、内存等)分配的基本单位,具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立

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

Goroutine 是什么?进程、线程、协程又是什么?有什么区别和联系?

用户头像
王中阳Go
2022-10-16

这篇文章通过对比的方式介绍了进程、线程、协程各自的概念和特点。举了一个非常有趣的例子介绍“进程和线程的区别和联系”。也详细说明了为什么有了线程机制还要引入协程机制,协程的优势是什么?

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

实例分析 Scheduled Thread Pool Executor 与 Timer 的区别

JDK 1.5开始提供Scheduled Thread PoolExecutor类,Scheduled Thread Pool Executor类继承Thread Pool Executor类重用线程池实现了任务的周期性调度功能。

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