51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3439|回复: 15
打印 上一主题 下一主题

[原创] 进程和线程的区别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-29 09:16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
进程和线程的区别是什么

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

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

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-29 11:04:22 | 只看该作者
学习了,顶一个
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-29 11:19:09 | 只看该作者
嗯,以前面试笔试题就有这么一题的,可惜没做好!
谢谢共享!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-30 17:38:24 | 只看该作者
顶!sdlkfj2 sdlkfj2 sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-5-31 09:58:39 | 只看该作者
复习了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-5-31 10:16:54 | 只看该作者
清晰了概念 sdlkfj3  thx
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-5-31 15:04:30 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-5-31 15:09:30 | 只看该作者
最简单的理解就是一个进程里面有多个线程!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-5-31 16:43:53 | 只看该作者
顶一个@@@@@
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-6-1 10:53:00 | 只看该作者

回复 #8 厍仕杰 的帖子

应该说是一个进程当中至少有一个线程!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-7-17 08:47:47 | 只看该作者
楼主,我们在运行时设置中一般选进程还是选线程呀?哪个在lr中最好?web协议的。请回答
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-7-17 10:43:56 | 只看该作者
线程在执行过程中与进程还是有区别的。每个独立的【线程】有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。


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

在LR中 不出问题的情况下 尽量选择线程,但不是绝对。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-7-25 15:38:05 | 只看该作者
谢谢你的解释
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-7-25 16:48:52 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-8-2 10:14:59 | 只看该作者
启动一个应用程序至少有一个进程了,比如启动Flashget就是启动了一个进程,同时开启多个下载就是多个进程了,补充楼上
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2017-1-11 15:48
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2007-8-2 20:59:48 | 只看该作者
    再谈按线程运行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; 多少个虚拟用户数,就会有多少个进程,依次类推......................
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 14:58 , Processed in 0.092601 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表