Skip to main content

moregeek program

Python的多任务编程-多极客编程

前言 Python程序代码都是按自上而下的顺序加载并执行的,但实际需要代码处理的任务并不都是需要按部就班的顺序执行,通常为提高代码执行的效率,需要多个代码执行任务同时执行,也就是多任务编程的需求。基本的计算机模型是由CPU、RAM及各种资源(键盘、硬盘、显卡、网卡等)组成,代码的执行过程,实际就是CPU和相关寄存器及RAM之间的相关处理的过程。在单核CPU场景下,一段代码交由CPU执行前,都会处于

Read More

Interrupted Exception异常可能没你想的那么简单!-多极客编程

摘要: 当我们在调用Java对象的wait()方法或者线程的sleep()方法时,需要捕获并处理InterruptedException异常。如果我们对InterruptedException异常处理不当,则会发生我们意想不到的后果!本文分享自华为云社区《​​【高并发】由InterruptedException异常引发的思考​​》,作者:冰 河。前言当我们在调用Java对象的wait()方法或者线

Read More

计算机进程和线程-多极客编程

    计算机系统中,进程和线程是非常重要的概念。        一个进程就是一个正在执行的程序,包括pc、寄存器和变量的当前值,多个进程共享着物理内存、磁盘、打印机和其他资源。一般来说,每个进程有一个地址空间和一个在CPU上被调度执行的实体——线程。在同一个进程的环境中,允许并行运行彼此之间有独立性的多个线程,多个线程共享着进程的地址空间、打开文件集、子进程、报警及相关信号等其他资源。     

Read More

你知道线程池是如何退出程序的吗?-多极客编程

摘要:本文,我们就来从源码角度深度解析线程池是如何优雅的退出程序的。 本文分享自华为云社区《【高并发】从源码角度深度解析线程池是如何实现优雅退出的》,作者:冰 河 。 本文,我们就来从源码角度深度解析线程池是如何优雅的退出程序的。首先,我们来看下ThreadPoolExecutor类中的shutdown()方法。 shutdown()方法 当使用线程池的时候,调用了shutdown()方法后,

Read More

【Java技术指南】「难点-核心-遗漏」Java线程状态流转及生命周期的技术指南(知识点串烧)!-多极客编程

前提介绍 本章主要介绍相关线程声明周期的转换机制以及声明周期的流转关系以及相关AQS的实现和相关的基本原理,配合这相关官方文档的中英文互译的介绍。 线程状态流转及生命周期 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪/可运行状态(Runnable)、阻塞(Blocked)和等待(Wait)、时间等待(Time

Read More

HarmonyOS JS应用开发需要关注哪些线程?官方解析来啦~-多极客编程

HarmonyOS 2提供了对两种开发语言的支持:Java和JavaScript(下文简称JS)。从事过Android开发的同学对Java都很熟悉了,其多线程特性能够让多任务并行执行,充分利用硬件资源开发出高性能的应用。在HarmonyOS 2上,JS目前无法像Java一样直接创建新的Thread,那么使用JS语言开发HarmonyOS应用是否会遇到硬件资源无法充分利用的情况呢? 虽然使用JS语言

Read More

深入分析3种线程池执行任务的逻辑方法-多极客编程

​​​​摘要:结合ThreadPoolExecutor类的源码深度分析线程池执行任务的整体流程。 本文分享自华为云社区《【高并发】通过ThreadPoolExecutor类的源码深度解析线程池执行任务的核心流程》,作者: 冰 河。 ThreadPoolExecutor类中存在一个workers工作线程集合,用户可以向线程池中添加需要执行的任务,workers集合中的工作线程可以直接执行任务,或

Read More

从源码角度解析线程池中顶层接口和抽象类-多极客编程

摘要:我们就来看看线程池中那些非常重要的接口和抽象类,深度分析下线程池中是如何将抽象这一思想运用的淋漓尽致的。 本文分享自华为云社区《【高并发】深度解析线程池中那些重要的顶层接口和抽象类》,作者:冰 河。 通过对线程池中接口和抽象类的分析,你会发现,整个线程池设计的是如此的优雅和强大,从线程池的代码设计中,我们学到的不只是代码而已!! 题外话:膜拜 Java 大神 Doug Lea,Java

Read More

高并发中,那些不得不说的线程池与ThreadPoolExecutor类-多极客编程

摘要:从整体上认识下线程池中最核心的类之一——ThreadPoolExecutor,关于 ThreadPoolExecutor 的底层原理和源码实现,以及线程池中的其他技术细节的底层原理和源码实现。 本文分享自华为云社区《高并发之——不得不说的线程池与ThreadPoolExecutor类浅析》,作者: 冰 河 。 一、抛砖引玉 既然 Java 中支持以多线程的方式来执行相应的任务,但为什么在

Read More

5招教你实现多线程场景下的线程安全-多极客编程

​​​​​​摘要:多线程(并发)场景下,如何编写线程安全(Thread-Safety)的程序,对于程序的正确和稳定运行有重要的意义。下面将结合示例,谈谈如何在 Java 语言中,实现线程安全的程序。 本文分享自华为云社区《Java如何实现多线程场景下的线程安全》,作者: jackwangcumt 。 1、引言 当前随着计算机硬件的快速发展,个人电脑上的 CPU 也是多核的,现在普遍的 CUP

Read More

你使用的SimpleDateFormat类还安全吗?-多极客编程

​​​​​​​摘要:我们就一起看下在高并发下 SimpleDateFormat 类为何会出现安全问题,以及如何解决 SimpleDateFormat 类的安全问题。 本文分享自华为云社区《SimpleDateFormat类的线程安全问题和解决方案》,作者: 冰 河。 首先问下大家:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着

Read More

关于线程的执行顺序,可能真的只是你以为的你以为-多极客编程

​​​​​​​​​​​摘要:今天,我们就一起来看看线程到底是如何执行的,它的顺序又是怎样的? 本文分享自华为云社区《线程的执行顺序与你想的不一样!!》,作者:冰 河 。 一、线程的执行顺序是不确定的 调用 Thread 的 start()方法启动线程时,线程的执行顺序是不确定的。也就是说,在同一个方法中,连续创建多个线程后,调用线程的 start()方法的顺序并不能决定线程的执行顺序。  

Read More

线程与线程池的那些事之线程池篇(万字长文)-多极客编程

本文关键字: 线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离 线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如

Read More

快来,这里有23种设计模式的Go语言实现-多极客编程

​​​​​​​​摘要:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。 本文分享自华为云社区《快来,这里有23种设计模式的Go语言实现》,原文作者:元闰子 。 前言 从 1995 年 GoF 提出 23 种设计模式到现在,25 年过去了,设计模式依旧是软件领域的

Read More

【Java技术探索】站在Linux操作系统角度去看Thread(线程)-多极客编程

Linux进程与线程 无论是Java还是其他语言,无论如何定义线程模型和实现,基于底层角度而言都要归属到操作系统层面上的线程(LWP:轻量级线程技术映射到了内核线程)概念就不提了。 Richard Stevens对线程的描述(原文) fork is expensive. Memory is copied from the parent to the child, all descriptor

Read More

【底层原理】从底层角度去分析线程的实现原理-多极客编程

每日一句 当别人放弃的时候,你还在坚持,你就已经成功了! 前提概要 并发并不一定只依赖多线程的技术,但编程领域里谈论并发大多数情况下都与线程脱离不了关系。 线程的介绍 线程是比进程更轻量级的调度执行单位,线程的引入可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址,文件IO等),又可以独立调度(线程是CPU调度执行的基本单位)。 线程的实现 线程的实现方式主

Read More

线程与线程池的那些事之线程篇-多极客编程

本文关键字: 线程,线程池,单线程,多线程,线程池的好处,线程回收,创建方式,核心参数,底层机制,拒绝策略,参数设置,动态监控,线程隔离 线程和线程池相关的知识,是Java学习或者面试中一定会遇到的知识点,本篇我们会从线程和进程,并行与并发,单线程和多线程等,一直讲解到线程池,线程池的好处,创建方式,重要的核心参数,几个重要的方法,底层实现,拒绝策略,参数设置,动态调整,线程隔离等等。主要的大纲如

Read More

进程、线程与协程傻傻分不清?一文带你吃透!-多极客编程

前言欢迎来到操作系统系列,依然采用图解 + 大白话的形式来讲解,让小白也能看懂,帮助大家快速科普入门本篇开始介绍进程、线程、协程,相信很多小白们对这几个概念理解的不清晰,这里全部给你们安排的明明白白,我们开始进入正文吧内容大纲小故事小明(操作系统)创办了一家互联网小公司,因为准备同时开发A与B两个软件,所以小明请了两个开发团队来做这件事情,分别是小王开发团队与小李开发团队,可是公司特别小,只有一个

Read More

线程的饥饿-多极客编程

代码里有这样一段需求,先去取得 approval ,再去进行 deploy, 采取了多线程运行,代码运行上去之后,发现线程积压严重。请求量并不大,但是系统就hung在那里。  发现代码出现问题的大概是这段逻辑   CompletableFuture<List<Map<String, Object>>> manifestListResultFuture =    

Read More

线程-多极客编程

线程的五种状态:新建、就绪、运行、阻塞、终止。一、线程睡眠,两种方式:1、Thread.sleep(1000);2、TimeUnit.SECOND.sleep(1);效果都是睡眠两秒,这两秒进入阻塞状态,然后恢复就绪状态;阻塞状态下无法获得cpu资源;其他线程中可以通过该线程对象调用interrupt方法打断其睡眠状态,这时sleep方法会抛出InterruptedException,也是进入就绪

Read More