进程和线程的区别和联系

一 线程的基本概念

  一个线程就是一个"执行流".每个线程之间都可以按照顺序执行自己的代码.多个线程之间"同时"执行着多分代码.

       线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分配的基本单位,线程自己不拥有系统资源,而是一个进程中的多个线程共用一份线程.一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行.

优点:

        1.易于调度 

        2.提高并发性:通过线程可方便有效地实现并发性.进程可创建多个线程来执行同一程序的不同部分.

        3.开销少:创建线程比创建进程要快,所需开销很少.

        4.利于充分发挥多处理器的功能.    通过创建多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行.

二 进程和线程的区别

        1.进程包含线程

        2.进程有自己独立的内存空间和文件描述符表,同一个进程中多个线程之间,共享同一份地址空间和文件描述符表

        3.进程是操作系统资源分配的基本单位,线程是操作系统调度执行的基本单位

        4.进程之间具有独立性,一个进程挂了,不会影响别的进程.同一个进程里的多个线程之间,一个线程挂了,可能会导致整个进程挂掉,影响其他线程.

三 进程和线程的联系

      1.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程

       2.资源分配给进程,同一个进程的所有线程共享该进程的所有资源.

       3.处理机分给线程,即真正在处理机上运行的线程.

        4.线程在执行过程中,需要协作同步.不同进程的线程要利用消息通信的方法实现同步.线程是 指进程内的一个执行单元,也是进程内的可调度实体.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的 (1)掌握Windows系统提供的线程创建撤销系统调用 (2)掌握Windows系统环境下线程创建撤销方法 2 实验准备知识 (1)线程创建 CreateThread()完成线程创建。它在调用进程的地址空间上创建一个线程,执行指定的函数,并返回新建立线程的句柄。 原型: HANDLE CreateThread(   LPSECURITY_ATTRIBUTES lpThreadAttributes,   DWORD dwStackSize,   LPTHREAD_START_ROUTINE lpStartAddress,   LPVOID lpParameter,   DWORD dwCreationFlags,   LPDWORD lpThreadId);   参数说明:   lpThreadAttributes:指向SECURITY_ATTRIBUTES型态的结构的指针。在Windows 98中忽略该参数。在Windows NT中,它被设为NULL,表示使用缺省值。   dwStackSize,线程堆栈大小,一般=0,在任何情况下,Windows根据需要动态延长堆栈的大小。   lpStartAddress,指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明:   DWORD WINAPI ThreadProc (LPVOID pParam) ,格式不正确将无法调用成功。   lpParameter:向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL。   dwCreationFlags :线程标志,可取值如下   CREATE_SUSPENDED: 创建一个挂起的线程   0 :创建后立即激活。   lpThreadId:保存新线程的id。   返回值:   函数成功,返回线程句柄;函数失败返回false。 (2)撤销线程 ExitThread()用于撤销当前线程 原型: VOID ExitThread( DWORD dwExitCode ); 参数说明: DwExitCode:指定线程返回码 返回值: 该函数没有返回值 用法举例: ExitThread(0); (3)挂起线程 Sleep()用于挂起当前正在执行的线程 原型: VOID Sleep( DWORD dwMilliseconds ); 参数说明: dwMilliseconds:指定挂起时间,单位为ms(毫秒)。 返回值: 该函数没有返回值。 (4)关闭句柄 函数CloseHandle()用于关闭已打开对象的句柄,其作用与释放动态申请的内存空间类似,这样可以释放系统资源,使进程安全运行。 原型: BOOL CloseHandle( HANDLE hObject ); 参数说明: hObject:已打开对象的句柄。 返回值: 成功,返回值为非0值;失败,则返回值为0.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值