1. 云栖社区>
  2. 全部标签>
  3. #thread#
thread

#thread#

已有1人关注此标签

内容分类:
博客 | 问答 | 视频 | 资料 |

Java并发编程(04):线程间通信,等待/通知机制

一、概念简介 1、线程通信 在操作系统中,线程是个独立的个体,但是在线程执行过程中,如果处理同一个业务逻辑,可能会产生资源争抢,导致并发问题,通常使用互斥锁来控制该逻辑。但是在还有这样一类场景,任务执行是有顺序控制的,例如常见的报表数据生成: 启动数据分析任务,生成报表数据; 报表数据存入指定位置数据容器; 通知数据搬运任务,把数据写入报表库; 该场景在相对复杂的系统中非常常见,如果基于多线程来描述该过程,则需要线程之间通信协作,才能有条不紊的处理该场景业务。

编程语言 java 线程 容器 string static class 编程 void 报表 thread

【漫画】互斥锁ReentrantLock不好用?试试读写锁ReadWriteLock

ReentrantLock完美实现了互斥,但是却意外发现它对于读多写少的场景效率实在不行。此时ReentrantReadWriteLock来救场了!一种适用于读多写少的锁,可以大幅度提升并发效率,你必须会哦!

Java核心技术 java 性能 LOG 线程 lock string static 多线程 thread 并发编程 互斥锁 读写锁

线程池

线程池的基本使用 package com.shothook.test; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.

java 线程 static handler thread 线程池源码

【漫画】JAVA并发编程 J.U.C Lock包之ReentrantLock互斥锁

除了synchronized ,JAVA还提供了强大的Lock包来实现互斥。具有超时、非阻塞、可中断的方式获取锁等诸多特性,为我们编写更加安全、健壮的并发程序提供了很大的便利。

编程语言 java LOG 线程 lock static 编程 void source thread account

Java 多线程启动为什么调用 start() 方法而不是 run() 方法?

Java 多线程启动为什么调用 start() 方法而不是 run() 方法? 多线程在工作中多多少少会用到,我们知道启动多线程调用的是 start() 方法,而不是 run() 方法,你知道原因吗? 在探讨这个问题之前,我们先来了解一些多线程的基础知识~ 线程的状态Java 中,定义了 6 种线...

java native 线程 源码 static 多线程 void Group thread

【漫画】JAVA并发编程 如何解决原子性问题

线程切换导致了并发编程中的原子性问题,那么如何解决原子性问题呢?互斥锁来帮你搞定它!

编程语言 Java核心技术 java 线程 static 多线程 编程 void source thread account 并发编程

【漫画】JAVA并发编程 如何解决可见性和有序性问题

JAVA并发编程 如何解决可见性与有序性问题呢?HappensBefore八大原则来搞定!胖滚猪用漫画的形式带你迅速入门。

系统软件 编程语言 Java核心技术 java 线程 string static 多线程 编程 void thread

【漫画】JAVA并发编程之并发模拟工具

每个并发编程初学者都会遇到的疑惑,到底应该如何模拟并发环境呢?本文讲述并发模拟工具,助你一臂之力!

编程语言 系统研发与运维 Java核心技术 java 线程 Apache Image static 多线程 编程 void thread 并发

JVM系列-2、JVM内存结构

JVM系列-2、JVM内存结构 一、JVM内存结构 1.1、栈(JVM Stacks)存放局部变量(定义在方法中的变量和定义在方法参数列表上的变量)、对象引用(reference类型,它不等同于对象本身,根据不同的虚拟机实现,它可能是一个指向对象起始地址的引用指针,也可能指向一个代表对象的句柄或者其他与此对象相关的位置)、方法的执行。

java native jvm 线程 exception thread

深入浅出!阿里运维专家三种方法教你如何应对高并发“海啸”场景

高并发高压力下我们是如何保障数据库的稳定性和可用性的。

mysql SQL 线程 数据库 高并发 Image CPU thread

阻塞队列——手写生产者消费者模式、线程池原理面试题真正的答案

阻塞队列——手写生产者消费者模式、线程池原理面试题真正的答案 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 队列和阻塞队列 队列 队列(Queue)是一种经常使用的集合。

编程语言 线程 lock 面试 面试题 PUT thread offer

ThreadLocal 核心源码解析

# 1 前言 此类提供线程本地变量。这些变量与普通变量不同,因为每个访问一个变量(通过其get或set方法)的线程都有其自己的,独立初始化的变量副本。 ThreadLocal 实例通常是期望将状态与线程(例如,用户ID或事务ID)关联的类中的 private static 字段。

云栖社区 编程语言 java 线程 源码 索引 static thread 数组

【漫画】JAVA并发编程三大Bug源头(可见性、原子性、有序性)

并发程序是一把双刃剑,提升性能的同时带来了无形的bug。首先要知道问题出自哪里,才可能把问题解决。本文通过漫画形式,走进JAVA并发编程之三大BUG源头,可见性、原子性、有序性。

系统软件 编程语言 故障方案 大数据 Java核心技术 java 线程 bug 高并发 内存模型 static 多线程 编程 CPU thread

java多线程4:synchronized关键字

java多线程4:synchronized关键字 概述java有各种各样的锁,并且每种锁的特性不同,合理场景下利用锁可以展现出非常高的效率。synchronized内置锁就是Java的一种重量级锁,它能够解决并发编程中出现多个线程同时访问一个共享,可变的临界资源时出现的线程安全问题。

java 线程 同步 string static 多线程 class void thread

JVM 性能调优工具 jcmd

在JDK1.7以后,新增了一个命令行工具 jcmd。他是一个多功能的工具,可以用它来导出堆、查看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc 工具的飞行记录器)。

java 性能优化 jvm 性能 性能监控 path class netty file thread SUN IDEA dump java虚拟机

JVM 性能调优工具 jstack

Jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息。

Java核心技术 java jvm 性能 线程 lock netty thread SUN 线程堆栈 线程死锁

Android中高级面试题(理论知识)

1. ThreadLocal的理解 可以保证线程的安全。在多个线程共享相同的数据的时候,会为每个线程创建单独的副本,在单独的副本上进行数据的操作,不会对其它线程的数据产生影响,保证了线程安全。 2. HashMap HashSet HashTable的区别? 都是集合,底层都是Hash算法实现的。

安全 android 线程 数据库 布局 面试题 handler thread hashmap fragment activity view

317
GO