上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 52 下一页
摘要: 1 前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。 这次,我们就以「文件传输」作为切入 阅读全文
posted @ 2023-06-20 06:58 酷酷- 阅读(77) 评论(0) 推荐(0)
摘要: 1 前言 键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「键盘敲入A 字母时,操作系统期间发生了什么吗」? 那要想知道这个发生的过程,我们得先了解了解「操作系统是如何管理多种多样的的输入输出设备」的,等了解完这个后,我们再来看看这个问题,你就会发现问题已经被迎刃而解了。 2 设备 阅读全文
posted @ 2023-06-19 08:00 酷酷- 阅读(93) 评论(0) 推荐(0)
摘要: 1 前言 文件的读写方式各有千秋,对于文件的 I/O 分类也非常多,常见的有 缓冲与非缓冲 I/O 直接与非直接 I/O 阻塞与非阻塞 I/O VS 同步与异步 I/O 接下来,分别对这些分类讨论讨论。 2 缓冲与非缓冲 I/O 文件操作的标准库是可以实现数据的缓存,那么根据「是否利用标准库缓冲」, 阅读全文
posted @ 2023-06-19 07:27 酷酷- 阅读(124) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看个问题就是:为什么线程崩溃崩溃不会导致 JVM 崩溃的问题。 本文分以下几节来探讨 线程崩溃,进程一定会崩溃吗 进程是如何崩溃的-信号机制简介 为什么在 JVM 中线程崩溃不会导致 JVM 进程崩溃 openJDK 源码解析 我们开始。 2 线程崩溃,进程一定会崩溃吗? 一般来 阅读全文
posted @ 2023-06-19 07:20 酷酷- 阅读(150) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看个问题就是:一个进程最多可以创建多少个线程? 不同的操作系统和不同位数的操作系统,虚拟内存可能是不一样多。 Windows 系统我不了解,我就说说 Linux 系统。 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址 空间的范 阅读全文
posted @ 2023-06-19 07:10 酷酷- 阅读(795) 评论(0) 推荐(0)
摘要: 1 前言 在编程世界里,「锁」可以说是五花八门,多种多样,每种锁的加锁开销以及应用场景也可能会不同。 如何用好锁,也是程序员的基本素养之一了。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来,就谈一谈常见的这几 阅读全文
posted @ 2023-06-19 07:01 酷酷- 阅读(103) 评论(0) 推荐(0)
摘要: 1 前言 这节,我们来系统地聊聊死锁的问题。 死锁的概念; 模拟死锁问题的产生; 利用工具排查死锁问题; 避免死锁问题的发生; 2 死锁的概念 在多线程编程中,我们为了防止多线程竞争共享资源而导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的线程就 阅读全文
posted @ 2023-06-16 15:43 酷酷- 阅读(89) 评论(0) 推荐(0)
摘要: 1 前言 对于共享资源,如果没有上锁,在多线程的环境里,那么就可能会发生翻车现场。这节我们来看看操作系统中避免多线程资源竞争的互斥、同步的方法。 2 竞争与协作 在单核 CPU 系统里,为了实现多个程序同时运行的假象,操作系统通常以时间片调度的方式,让每个进程执行每次执行一个时间片,时间片用完了,就 阅读全文
posted @ 2023-06-16 15:09 酷酷- 阅读(490) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看看进程间的通信方式哈。 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 Linux 内核提供了不少进程间通信的机制,我们来一起瞧瞧有哪些? 2 管道 管道分两种类型:匿名管道、命名管道 如果你学过 Li 阅读全文
posted @ 2023-06-16 07:42 酷酷- 阅读(124) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看看进程、线程的一些基础知识哈。 2 进程 我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为「进程」(Process)。 现在我们 阅读全文
posted @ 2023-06-16 06:57 酷酷- 阅读(387) 评论(0) 推荐(0)
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 52 下一页