请问关于c的具体应用场景有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2173个文字,预计阅读时间需要9分钟。
程序的知识面很广,知识点有深有浅。深入研究操作系统、CPU、内存等会涉及更多细节,而浅尝辄止则只是了解一些基本语法。没有固定的知识积累,很难全面地写出程序知识。我也没有这个能力。所以,程序这个词比较宽泛。
线程的知识太多,知识点有深有浅,往深的研究会涉及操作系统、CPU、内存,往浅了说就是一些语法。没有一定的知识积累,很难把线程的知识写得全面,当然我也没有这个能力。所以想到一个点写一个点,尽量总结一些有用的知识点。线程是个大话题,这个系列可能会有好几遍关于线程的,先从基础的开始,热热身。
一些基础概念
线程(Thread)是操作系统能够进行运算调度的最小单位。它是进程中的实际运作单位,一个进程中可以启动多个线程,每个线程可以并行执行不同的任务。严格意义上来说,同一时间可以并行运行的线程数取决于 CPU 的核数。
根据线程运行模式,可以把线程分为前台线程、后台线程和守护(Daemon)线程:
- 前台线程:主程序必须等待线程执行完毕后才可退出程序。C# 中的 Thread 默认为前台线程,也可以设置为后台线程。
- 后台线程:主程序执行完毕立即跟随退出,不管线程是否执行完毕。C# 的 ThreadPool 管理的线程默认为后台线程。
- 守护线程:守护线程拥有自动结束自己生命周期的特点,它通常被用来执行一些后台任务。
每次开启一个新的线程都要消耗一定的内存,即使线程什么也不做,也会至少消耗 1M 左右的内存。
本文共计2173个文字,预计阅读时间需要9分钟。
程序的知识面很广,知识点有深有浅。深入研究操作系统、CPU、内存等会涉及更多细节,而浅尝辄止则只是了解一些基本语法。没有固定的知识积累,很难全面地写出程序知识。我也没有这个能力。所以,程序这个词比较宽泛。
线程的知识太多,知识点有深有浅,往深的研究会涉及操作系统、CPU、内存,往浅了说就是一些语法。没有一定的知识积累,很难把线程的知识写得全面,当然我也没有这个能力。所以想到一个点写一个点,尽量总结一些有用的知识点。线程是个大话题,这个系列可能会有好几遍关于线程的,先从基础的开始,热热身。
一些基础概念
线程(Thread)是操作系统能够进行运算调度的最小单位。它是进程中的实际运作单位,一个进程中可以启动多个线程,每个线程可以并行执行不同的任务。严格意义上来说,同一时间可以并行运行的线程数取决于 CPU 的核数。
根据线程运行模式,可以把线程分为前台线程、后台线程和守护(Daemon)线程:
- 前台线程:主程序必须等待线程执行完毕后才可退出程序。C# 中的 Thread 默认为前台线程,也可以设置为后台线程。
- 后台线程:主程序执行完毕立即跟随退出,不管线程是否执行完毕。C# 的 ThreadPool 管理的线程默认为后台线程。
- 守护线程:守护线程拥有自动结束自己生命周期的特点,它通常被用来执行一些后台任务。
每次开启一个新的线程都要消耗一定的内存,即使线程什么也不做,也会至少消耗 1M 左右的内存。

