初学进程和线程之心得

我自从上大2之后,学习的很多课程都提到了进程和线程,老师们的介绍大多一样,我对于进程和线程只是有一个概念上的认识,对于其他很是模糊。在学习MFC过程中,我开始学习了这两个很想了解的知识。
1.进程就是正在执行的程序,程序是静态的代码和数据,操作系统创建进程后,会为他创建一个主线程,主线程之外的线程称为该进程的辅助线程。
2.线程里面需要注意的就是临界资源,可以被多个线程访问的代码,数据等资源叫做临界资源。
3.至于进程的地址空间和线程的生命周期等概念,在操作系统中也提到过,我在学习的过程中,明白到想学好编程不仅要学好编程语言,工具,还要学习你的应用的坏境即操作系统,我当时学操作系统是在大2上学期,没怎么学好,有点想再学学,呵呵。
4.创建子进程,通过API函数CreateProcess创建子进程,在MFC中使用AfxGetApp()->CloseAllDocuments(true);::PostQuitMessage(-1);退出进程
5.虚拟内存管理,我们平常使用的内存管理函数如malloc,free,new,delete都是依赖VirtualAlloc,VirtualLock,VirtualUnlock,VirtualFree这几个函数,我们需要理解.当然,实际应用当中我们更多的还是使用malloc,free,new,delete.在里面的保留,提交,锁定,访问,释放等概念需要深刻理解.
6.进程间内存共享就是基于虚拟内存管理中的保留与提交这两个概念实现的.提交保留区域时,操作系统就会为虚拟内存分配对应的物理内存或者交换文件,多个进程都提交到同一个交换文件,这样基于交换文件就实现了进程间的内存共享.创建基于磁盘文件的映像文件时,需要先打开该文件,然后用CreateFileMapping创建文件映像,其他进程可以通过OpenFileMapping打开这个映像文件,然后用MapViewOfFi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值