标签:Thread
-
Java并发:AtomicInteger源码分析——基于CAS的乐观锁实现
AtomicInteger源码分析——基于CAS的乐观锁实现 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执…
-
第42篇:死磕 java线程系列之创建线程的8种方式
(手机横屏看源码更方便) 问题 (1)创建线程有哪几种方式? (2)它们分别有什么运用场景? 简介 创建线程,是多线程编程中最基本的操作,彤哥总结了一下,大概有8种创建线程的方式,…
-
东半球第二详细JVM内存占用情况深入分析
很多同学都问过这个问题,为什么我的Xmx设置4g,但是TOP命令查询RES却占用5G,6G,甚至8G。这个正常吗?也可以说正常,也可以说不正常,怎么判断?笔者今天就要为你解答这个问…
-
018-十八、Java并发 Java 之 Runnable 还是 Thread?
引言 写 Java 代码的时候,我们经常会有这样的疑问:我到底是实现一个 Runnable 呢,还是扩展一个 Thread 类? 你的答案是什么呢? 那有没有标准答案呢? 答案是什…
-
017-十七、Java并发 Java Thread 生命周期
引言 本文中,我想详细的讨论下 Java 中的核心概念 – 线程的生命周期。我会使用一张我自制的图片加上实用的代码片段,一步一步的详细剖析线程的各个状态和各个状态之间如…
-
014-十四、Java并发 Java 守护线程 ( Daemon Thread )
引言 在这篇简短的文章中,我们将讲解下 Java 中的守护线程,看看它们可以做什么。我们还将解释守护线程和用户线程之间的区别。 守护线程和用户线程的区别 Java 提供了两种类型的…
-
003-三、Java并发 Java 线程池 ( Thread Pool ) (上)
文章永久连接:https://tech.souyunku.com/?p=5569 本文我们将讲解 Java 中的线程池 ( Thread Pool ),从 Java 标准库中的线程…
-
007-七、网络编程之生产者消费者(二)
前言 上一节讲解了生产者与消费者模式的基本理论以及简单实现,并且遗留下来一个消费商品是 null,库存为:-1的问题 ,看下代码。 /** * 首先需要一个商品共享类 */ Goo…
-
002-二、网络编程之线程停止详解
引言 多线程中有三种方式可以停止线程。 设置标记位,可以是线程正常退出。 使用stop方法强制使线程退出,但是该方法不太安全所以已经被废弃了。 使用Thread类中的一个inter…
-
001-一、网络编程之多线程Runnable
Runnable JDK说的:Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。实现类必须实现一个名称为 run 的无参数方法。 也有其它的说法是:如果让一个线…
-
07-Java多线程(七)– 线程的调度
Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而…
-
05-Java多线程(五)- 线程的同步与锁
一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数…
-
02-Java多线程(二)– 创建与启动
一、定义线程 1、扩展java.lang.Thread类 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 Runnable …