51Testing软件测试论坛

标题: 进程和线程的区别 [打印本页]

作者: roseforyou    时间: 2007-5-29 09:16
标题: 进程和线程的区别
进程和线程的区别是什么

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
作者: janne09    时间: 2007-5-29 11:04
学习了,顶一个
作者: linlh    时间: 2007-5-29 11:19
嗯,以前面试笔试题就有这么一题的,可惜没做好!
谢谢共享!
作者: stevenhappy    时间: 2007-5-30 17:38
顶!sdlkfj2 sdlkfj2 sdlkfj2
作者: LXF123    时间: 2007-5-31 09:58
复习了
作者: liuwendy    时间: 2007-5-31 10:16
清晰了概念 sdlkfj3  thx
作者: ppent    时间: 2007-5-31 15:04
学习了
作者: 厍仕杰    时间: 2007-5-31 15:09
最简单的理解就是一个进程里面有多个线程!
作者: huco7    时间: 2007-5-31 16:43
顶一个@@@@@
作者: roseforyou    时间: 2007-6-1 10:53
标题: 回复 #8 厍仕杰 的帖子
应该说是一个进程当中至少有一个线程!
作者: wangyong3552128    时间: 2007-7-17 08:47
楼主,我们在运行时设置中一般选进程还是选线程呀?哪个在lr中最好?web协议的。请回答
作者: 小月三木    时间: 2007-7-17 10:43
线程在执行过程中与进程还是有区别的。每个独立的【线程】有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。


应该是:每个独立的【进程吧】有一个程序运行的入口、顺序执行序列和程序的出口。

在LR中 不出问题的情况下 尽量选择线程,但不是绝对。
作者: wangyong3552128    时间: 2007-7-25 15:38
谢谢你的解释
作者: JamesGosling    时间: 2007-7-25 16:48
学习了
作者: 柔柔    时间: 2007-8-2 10:14
启动一个应用程序至少有一个进程了,比如启动Flashget就是启动了一个进程,同时开启多个下载就是多个进程了,补充楼上
作者: spartan    时间: 2007-8-2 20:59
再谈按线程运行VUSER和按进程运行VUSER的区别
1. 按线程运行VUSER,LR默认情况下,每50个用户开启一个进程mmdrv.exe;controller场景运行结束,进程mmdrv.exe也会相应结束;
2. 按进程运行VUSER,系统为每1个用户开启一个进程mmdrv.exe;controller场景运行结束,进程mmdrv.exe也会相应结束;

大家可以做个试验, 在Runtime setting中设置为按线程运行VUSER,设置Controller中的虚拟用户数小于等于50的话,打开windows资源管理器可以看到有一个进程mmdrv.exe; 设置Controller中的虚拟用户数为51的话,打开windows资源管理器可以看到有两个进程mmdrv.exe; 按照50的倍数依次类推.................

在Runtime setting中设置为按进程程运行VUSER,设置Controller中的虚拟用户数10的话,打开windows资源管理器可以看到有10个进程mmdrv.exe;设置Controller中的虚拟用户数20的话,打开windows资源管理器可以看到有20个进程mmdrv.exe; 多少个虚拟用户数,就会有多少个进程,依次类推......................





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2