本次课程将介绍另一种实现多线程的方法——线程。首先,我们需要理解什么是线程,在哪些情况下会提到进程,或者在哪些软件中会看到进程。许多同学使用过这些软件。
·当我们点击某个软件时,如果点击得太快或电脑反应较慢,那么某个软件可能会一直转圈。此时,我们可以打开任务管理器,选择该程序,然后点击“结束进程”。
·打开任务管理器时,我们会看到一个进程。这就是一个进程。
·在当前的程序中,我们可以看到录屏软件Prcharm和WPS等。这些都是一个一个的进程。如果我们想让某个当前的进程(如Prcharm)结束,我们可以选择右下角的“结束任务”,这也就是结束当前进程。每打开一个应用程序都会创建一个进程。
·如果我们想在当前进程中执行多个任务,同时做几件事,这些任务就是一个一个的线程。例如,在三六零中,我们可以同时清理系统垃圾、杀毒和下载任务。这些任务可以同时进行,这就是一个一个的线程。
·在当前的QQ中,QQ本身就是一个进程。打开QQ后,我们可以同时打开多个窗口,与好友AA聊天、与好友BB聊天、与小学同学聊天、与某个群聊天,还可以同时打开另一个群。我们可以同时与这些窗口进行聊天,这也是一个一个的线程。
·我们可以看到,一个进程可以拥有多个并发的线程,每个线程共享当前进程的资源,也就是县城和晋城。
·线程和进程的根本区别在于,线程是作为资源分配的单位,而进程是调试和执行的单位。例如,在当前代码中,代码的运行会启动一个进程,而箭头指向某一行,这一行就是当前的线程。
·在一个代码段中,也就是一个线程中,肯定有一个进程和一个现成,箭头指向某一行,也就是当前的线程占用CPU进行执行和计算。
·线程和进程的根本区别在于,线程是作为资源分配的单位,而进程是调试和执行的单位。相较于我们的开关,进城有独立的解码器和资源分配,需要占用内存,而且切换时会造成较大的开销,因此有时也被称为“轻量级进程”。它共享所在进程的资源,因此切换时的开销更小。
每个进程都会分配不同的内存区域,而线程所在的就是当前所在资源,也就是所在进程的资源。线程和进程之间的关系是包含关系,也就是说一个进程中可以同时存在多个并发执行的线程,也就是线程只是进程的一部分,也可以称为“轻量级进程”。
线程和线程各有优缺点。线程执行的开销更小,但不利于资源管理,因为它不分配资源,而进程是分配和独立占用内存空间,因此如果进行资源管理,过程会更有利;如果需要进行调试,则线程更方便。
创业/副业必备:
本站已持续更新1W+创业副业顶尖课程,涵盖多个领域。
点击查看详情
评论(0)