您的位置:首页 > 理论基础

线程、主线程、进程、操作系统、计算机硬件一些概念笔记和疑问

2016-03-02 22:24 411 查看
主线程和子线程

主线程是随着进程的创建而创建的,传入的参数是main里面的参数,而子线程是调用ptchrea_create来创建的,主线程的结束就意味着整个进程结束,其他线程线程都会退出,当然也有办法让主线程退出的时候其他线程继续运行。(c语言角度理解)

进程和线程

进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响

多进程的程序比多线程的程序健壮,但是进程切换时,耗费资源较大,效率差一些

线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉等于整个进程死掉

线程之间的数据能够共享,对于一些要求同时进行并且又要共享其他变量的并发操作,只能用线程 不能用进程

操作系统的设计要点:

以多进程的形式,允许多个任务,同时运行

以多线程形式,允许单个任务分成不同的部分运行

提供协作机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源

CPU

中央处理器主要包括运算器和高速缓冲存取器及实现它们之间联系的数据、控制及状态的总线。它与内部存取器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件,操作系统是这些之间联系的桥梁。

疑问?????

1、一个应用程序能有多个进程嘛?我的想法应该是有的,但是一般只有一个进程,但话不能太绝对。

2、线程与线程之间能做到数据共享,进程之间不行吗?我想应该也是可以的,但是数据共用方式可能不同

3、有人说进程是大的个体,就像人与人之间可以叫进程与进程之间,但是线程就可以理解为人身上的不同组织,彼此协调,同时又共用我们身上的血液水分,紧密沟通,进程就像人与人之间沟通,只是他们沟通方式可能不那么简单,人家抽烟的你要递烟,喝酒的你也乘酒,方能沟通。很浅显的理解吧,其实现在仍然感觉抽像。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: