ICode9

精准搜索请尝试: 精确搜索
  • 操作系统(一)进程管理2022-02-23 08:33:48

    1、状态转换 三态:就绪、阻塞、运行 五态:活动就绪、静止就绪、活动阻塞、静止阻塞、运行 活动就绪 变 静止就绪 和活动阻塞 变 静止阻塞 因为:内存不够,调到外存。 执行 变 静止就绪 因为:时间片用完。 参考: https://blog.csdn.net/leefangsong/article/details/106261349【五态】 2、

  • 深入理解“同步-异步-阻塞-非阻塞”2022-02-22 01:01:01

    why:   “同步-异步-阻塞-非阻塞”这四个名词都很熟悉,但是每次又说不清它们之间具体的区别。本次特意深入、全面的理解一下。   demo:   以老张烧水为例。   1、老张用普通的水壶烧水,同时自己在火炉旁等待水开 —— 同步阻塞式;   2、老张用普通的水壶烧上水后,去看电视,没看

  • java NIO理论总结2022-02-21 23:58:46

    目录 BIO NIO AIO BIO (Blocking I/O) NIO (Non-blocking/New I/O) AIO (Asynchronous I/O) BIO 与 NIO 区别 NIO BIO形象解释 NIO BIO各自应用场景 NIO在多线程中为什么比BIO好 BIO在多线程的缺点 NIO在服务端多线程的优点 NIO在客户端的优点 NIO的缺点 NIO理论 NIO Demo 直接

  • BIO,NIO,AIO 的区别2022-02-20 14:01:12

    BIO,NIO,AIO 有什么区别? 简答: BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单、使用方便,并发处理能力低,数据的读取写入必须阻塞在一个线程内等待其完成。NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复

  • 阻塞非阻塞?2022-02-19 11:35:50

    https://eklitzke.org/blocking-io-nonblocking-io-and-epoll https://imageslr.com/2020/02/27/select-poll-epoll.html

  • 【netty】(1)---BIO NIO AIO演变2022-02-18 20:32:10

    【netty】(1)---BIO NIO AIO演变 BIO NIO AIO演变      Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。 Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物,是一种NI

  • Netty网络框架学习笔记V4.x-1(NIO知识_2022-01-20)2022-02-18 19:03:38

    前言: (Netty官网 、GitHub) Netty 是一个 NIO 客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。 Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO

  • 一文搞定那些难缠的并发面试题2022-02-16 19:34:13

    1、Object 的 wait()和notify() 方法 下图为线程状态的图:       Object 对象中的 wait()和notify()是用来实现实现等待 / 通知模式。其中等待状态和阻塞状态是不同的。等待状态的线程可以通过notify() 方法唤醒并继续执行,而阻塞状态的线程则是等待获取新的锁。 调用 wait()方

  • 大白话说IO2022-02-10 09:30:02

    鸟瞰 IO 志坚者,功名之柱也。登山不以艰险而止,则必臻乎峻岭。 1. 同步与异步 同步请求        方法 A 调用方法 B ,如果方法 B 的处理是同步的,那么在方法 B 处理完之前他不会通知方法 A 的,只有方法 B 处理完之后才会明确的通知方法 A。 异步请求        方法

  • 快递100一面(Java)2022-02-09 22:31:52

    面试邀请来得有突然,记录一下有些问题以及答案。 ArrayList 是线程安全的吗,怎样保证他线程安全。 原因: 其实大部分集合类都不是线程安全的,其关键的原因在于添加元素的底层实现,因为在arrayList的add()中: elementData[size++] = e; 这一步包括了自增和赋值,因为当线程A执行了赋

  • Golang 什么是协程泄露(Goroutine Leak)?2022-02-09 11:03:12

    概述 在Go中,goroutine很轻量级,随便创建成千上万个goroutine不是问题,但要注意,要是这么多的goroutine一致递增,而不退出,不释放资源,就有可能耗尽系统资源。 本文介绍goroutine泄露的两种实际场景,并讨论如何解决该问题。其他场景和更加详细的介绍,可以参考我的个人博客。 产生原因分析

  • 关于Java线程池2022-02-09 10:30:20

    转自:微点阅读  https://www.weidianyuedu.com/content/3917490780418.html   前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解

  • 多线程等待/通知_一个很灵活的线程工具类LockSupport2022-02-08 13:31:59

    LockSupport是一个编程工具类,主要是为了阻塞和唤醒线程用的。使用它我们可以实现很多功能。 LockSupport简介 LockSupport是什么 LockSupport是一个线程工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,也可以在任意位置唤醒。 它的内部其实两类主要的方法:park(停车阻塞线

  • Java并发容器详解,及使用场景2022-02-07 23:02:48

    并发容器的由来 在Java并发编程中,经常听到Java集合类,同步容器、并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理清楚了,你才能真正掌握在高并发的环境下,正确使用好并发容器,我们先从Java集合类,同步容器谈起。 1.什么是同步容器 Java的集合容器框架中,主要

  • 多线程_基础2022-02-05 16:33:30

    一.一个Java程序最少开几个线程? 3个:主线程;gc线程;异常处理线程 二.线程的生命周期以及状态?   阻塞的分类: 等待阻塞:执行wait(),需要notify()/notifyAll()唤醒 同步阻塞:等待拿到锁 其他阻塞:执行sleep(),join(),或者发出I/O请求。都会进入阻塞 三.创建线程的几种方式?   创建线

  • 【并发编程】基于优先级队列实现的无界阻塞队列DelayQueue2022-02-04 22:03:48

    DelayQueue是什么 DelayQueue 是一个支持延时获取元素的阻塞队列。 内部采用优先队列 PriorityQueue 存储元素,同时元素必须实现 Delayed 接口; 在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素。 DelayQueue的使用场景 商城订单超时关

  • 【并发编程】如何选择适合的阻塞队列2022-02-04 22:02:56

    常见阻塞队列 ArrayBlockingQueue:基于数组结构实现的一个有界阻塞队列。 LinkedBlockingQueue:基于链表结构实现的一个无界阻塞队列。 PriorityBlockingQueue:支持按优先级排序的无界阻塞队列。 DelayQueue:基于优先级队列(PriorityBlockingQueue)实现的无界阻塞队列。 SynchronousQue

  • 【并发编程】阻塞队列BlockingQueue入门2022-02-04 21:33:00

    BlockingQueue是什么 BlockingQueue 继承了 Queue 接口,是队列的一种。 阻塞队列(BlockingQueue)是一个在队列基础上又支持了两个附加操作的队列,常用解耦。 支持阻塞的插入方法put: 队列满时,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法take: 队列空时,获取元素的线程

  • 生产者消费者(阻塞队列)2022-02-03 14:00:32

    阻塞队列实现等待唤醒机制 BlockingQueue 的核心方法: put(anObect) 将参数放入队列,如果放不进去会阻塞。 take():取出第一个数据,取不到会阻塞。 常见BlockingQueue: ArrayBlockingQueue:底层是数组,有界。 LinkedBlockingQueue:底层是链表,无界。但不是真正的无界,最大为int的最大值

  • Linux设备驱动--阻塞与非阻塞I/O2022-01-30 20:01:50

    注:本文是《Linux设备驱动开发详解:基于最新的Linux 4.0内核 by 宋宝华 》一书学习的笔记,大部分内容为书籍中的内容。 书籍可直接在微信读书中查看:Linux设备驱动开发详解:基于最新的Linux4.0内核-宋宝华-微信读书 (qq.com) 字符设备指那些必须以串行顺序依次进行访问的设备,如触摸屏、

  • 2 Lock2022-01-29 16:02:25

    悲观锁:对数据被外界修改持保守态度,任务数据很容易被其他线程修改,所以在数据被处理以前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态,其它线程就无法访问。悲观锁是排它锁。 乐观锁:任务数据在一般情况下不会造成冲突,所以在访问前不会加排它锁,而是在数据提交更新时,才会

  • 【线程池】常用的三种阻塞队列2022-01-29 15:36:05

    简介 我们在了解完线程池的参数配置和常用线程池后发现,每种线程池会根据不同的需求去选择不同的队列来存储线程任务。线程池的对应队列如下: 可以看到,五大常用的线程池,会用到三种线程池 LinkedBlockingQueue LinkedBlockingQueue是一种没有容量上限的队列,也就是说,用了这个队列的

  • 北京理工大学-操作系统原理 第2章作业12022-01-26 09:02:05

    假定有一个进程A,其工作流程如图1所示。如果系统中进程只有三种状态(就绪、运行、阻塞),并且进程被调度程序选中后就可以投入运行,且时间片为200ms,请顺序列出该进程从开始到结束所经历的状态转换过程,并说明原因。 运行—>就绪—>运行—>阻塞—>就绪—>运行—>阻塞—>就绪—>运行

  • 定位 MySQL 死锁或事务阻塞的思路以及修复的方法2022-01-24 16:34:03

    Overview 目前业务涉及到了一个上 TB 级的数据库,因为维护的项目已经有很多年了,所以该项目的数据库设计模式还是参考了之前的范式涉及,导致大量使用了外键。又因为项目的特点,为了保持幂等,又大量使用了 MySQL 的 upsert 语法。所以最近终于扛不住开始出现大范围的 gap lock 和死锁,导

  • ☕【Java深层系列】「并发编程系列」让我们一起探索一下CyclicBarrier的技术原理和源码分析2022-01-24 13:31:18

    CyclicBarrier和CountDownLatch CyclicBarrier和CountDownLatch 都位于java.util.concurrent这个包下,其工作原理的核心要点: CyclicBarrier工作原理分析 那么接下来给大家分享分析一下JDK1.8的CyclicBarrier的工作原理。 简单认识CyclicBarrier 何为CyclicBarrier? CyclicBarrie

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有