X
xxljishiben
Unregistered / Unconfirmed
GUEST, unregistred user!
本人刚刚由硬件设计转学软件,前几天看了一下多线程的概念,形成了这样的模型,如果理解正确,给像我一样的新手做指引,如果有不对的地方,敬请各位指出.
学习中,求知不求分.
在对概念的研究中,得到以下几个结论:
1.大家都知道的, 对单个cpu 来说 ,同一时刻,只能执行一个指令.
2.所谓的多任务, 是在操作系统控制下, 不同应用程序的指令交叉执行.
3.进程是应用程序的实例,每个进程由 a,私有的虚拟地址空间;
b,代码 ;
c 数据;
d, 其他各种系统资源 组成 (这句是抄的课本)
4.每个进程至少有一个线程,一个进程中的所有线程都在该进程的虚拟地址空间中,使用这些虚拟地址空间的全局变量和系统资源。
~~~~~~~~~~~~~~~~~~~~~~~~~~
从上边的理论而得出以下理解:(希望大家给予指正)
1.操作系统给每个应用程序指定不同的虚拟空间。虚拟空间用以存储数据和可执行代码
2.单一线程的应用程序,只提供给系统一个入口地址,这个入口地址指向应用程序的可执行代码段, 在相应的时间片系统将这个入口地址交付给cpu执行
3.多线程的应用程序, 提供给系统多个入口地址,每个入口地址指向一个线程的可执行代码段,相当于多个单线程应用程序同时运行(不同的是多个应用程序在使用系统指定的不同的虚拟空间和不同的资源,而多线程应用程序各个可执行代码段使用的是相同的空间和资源)
学习中,求知不求分.
在对概念的研究中,得到以下几个结论:
1.大家都知道的, 对单个cpu 来说 ,同一时刻,只能执行一个指令.
2.所谓的多任务, 是在操作系统控制下, 不同应用程序的指令交叉执行.
3.进程是应用程序的实例,每个进程由 a,私有的虚拟地址空间;
b,代码 ;
c 数据;
d, 其他各种系统资源 组成 (这句是抄的课本)
4.每个进程至少有一个线程,一个进程中的所有线程都在该进程的虚拟地址空间中,使用这些虚拟地址空间的全局变量和系统资源。
~~~~~~~~~~~~~~~~~~~~~~~~~~
从上边的理论而得出以下理解:(希望大家给予指正)
1.操作系统给每个应用程序指定不同的虚拟空间。虚拟空间用以存储数据和可执行代码
2.单一线程的应用程序,只提供给系统一个入口地址,这个入口地址指向应用程序的可执行代码段, 在相应的时间片系统将这个入口地址交付给cpu执行
3.多线程的应用程序, 提供给系统多个入口地址,每个入口地址指向一个线程的可执行代码段,相当于多个单线程应用程序同时运行(不同的是多个应用程序在使用系统指定的不同的虚拟空间和不同的资源,而多线程应用程序各个可执行代码段使用的是相同的空间和资源)