- 博客(14)
- 收藏
- 关注
原创 java.lang.NullPointerException的6种解决方法
java.lang.NullPointerException是Java运行时异常,它表示试图在代码中使用空引用的对象。
2023-10-25 23:59:29 8591 2
原创 第6集 | CPU核心数和线程数的关系
线程数的增加通常可以提高计算机的并行性和性能,因为它允许计算机同时执行更多任务。每个具体处理器和计算机系统都有自己的线程数和核心数配置,因此在选择硬件时需要考虑性能需求和预算。CPU核心数和线程数之间的关系涉及到计算机的硬件架构和处理器设计。一般情况下,线程数是CPU核心数的一个倍数,这涉及到处理器的超线程(Hyper-Threading)或多核心技术。例如,一台计算机可能具有四个物理核心,每个核心支持超线程,每个核心有两个逻辑核心,那么总线程数就是4(物理核心数)乘以2(每个核心的逻辑核心数),等于8。
2023-10-24 01:44:28 901
原创 第7集 | 上下文切换
它指的是在多任务环境中,操作系统将当前正在执行的进程或线程的执行状态(包括寄存器值、程序计数器、堆栈指针等)保存到内存中,然后切换到另一个进程或线程的执行状态,以便它可以继续执行。保存当前进程或线程的执行状态,包括寄存器值、程序计数器、堆栈指针等,将这些信息保存到内存中的数据结构中,通常称为进程控制块(Process Control Block,PCB)或线程控制块(Thread Control Block,TCB)。更新调度器的状态,以便跟踪当前正在执行的进程或线程、就绪队列中的进程或线程等。
2023-10-22 23:13:44 86 1
原创 第5集 | 什么是进程间通信?
进程间通信(Inter-Process Communication,IPC)指的是不同的进程之间通过各种机制和技术来进行数据交换、消息传递和协作的过程。进程间通信是多任务操作系统和分布式系统中非常重要的概念,它使不同进程能够共同协作,实现复杂的任务和应用程序。消息队列通常支持多个读者和写者。:命名管道是一种特殊的管道,允许不相关的进程之间进行通信,它在文件系统中有一个名字,可以被多个进程打开和读写。:信号是一种轻量级的进程通信机制,一个进程可以向另一个进程发送信号,通常用于通知某种事件的发生。
2023-10-19 23:23:17 42
原创 第3集 | 并发和并行以及他们的区别
并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。
2023-10-17 23:36:52 80
原创 第1集 | 并发编程和多线程的区别
多线程允许程序同时执行多个任务,可以是并发执行或并行执行,具体取决于硬件和操作系统的支持。并发编程是一种编程范式,它关注的是编写能够正确和高效处理多个并发任务的程序。并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程、协程、分布式编程等。并发编程的目标是实现任务的并发执行,以提高系统的性能和资源利用率。同时,并发编程更广泛,它包括多线程编程,还包括其他并发技术和编程范式,以解决各种并发问题和场景。总之,多线程是并发编程的一种具体实现方式,用于处理同一程序内的多个线程。
2023-10-16 11:13:54 122
程序、进程、线程的区别
2023-10-18
并发和并行以及他们的区别
2023-10-18
并发和并行以及他们的区别
2023-10-18
Java多线程编程的优点和缺点
2023-10-16
Java并发编程和多线程的区别
2023-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人