Administrator
Administrator
Published on 2025-01-17 / 1 Visits
0
0

2025.01.16

什么是多线程的上下文切换?

上下文切换是指 CPU 从一个线程转到另外一个线程时,需要保存当前线程的上下文状态,恢复另一个线程的上下文状态,以便于下一次恢复执行该线程时能够正确的运行。

在多线编程中,上下文切换是一种常见的操作,上下文切换通常是指在一个 CPU 上,由于多个线程共享 CPU 时间片,当一个线程的时间片用完后,需要切换到另一个线程运行。此时需要保存当前线程的状态信息,包括程序计数器、寄存器、栈指针等,以便下次继续执行该线程时能够恢复到正确的执行状态。同时,需要将切换到的线程的状态信息恢复,以便于该线程能够正确运行。

在多线程中,上下文切换的开销比直接用单线程大,因为在多线程中,需要保存和恢复更多的上下文信息。过多的上下文切换会降低系统的运行效率,因此需要尽可能减少上下文切换的次数。

什么是线程安全?

线程安全是指某个函数在并发环境中被调用时,能够正确处理多个线程间的共享变量,使程序功能正确完成

什么是并发,什么是并行?

并发(Concurrent),指的是多个任务在一段时间内重叠执行,但并不一定同时进行。它强调任务的交错执行和资源共享。

并行(Parallelism),指的是多个任务在同一时刻真正同时执行。它强调计算资源的利用和计算能力的提升。


Comment