当前位置: 首页 > news >正文

如何做一张图片的网站中国外贸公司排行榜

如何做一张图片的网站,中国外贸公司排行榜,网站建设的话术,网站反链如何做如果代码或文章中#xff0c;有什么错误或疑惑#xff0c;欢迎交流沟通哦~ ## 进程与线程的区别 1. **各自定义**#xff1a; 进程是操作系统进行资源分配和调度的一个独立单位#xff0c;具有一定独立功能的程序关于某个数据集合的依次运行活动。 线程被称为轻量级的进程…如果代码或文章中有什么错误或疑惑欢迎交流沟通哦~ ## 进程与线程的区别 1. **各自定义** 进程是操作系统进行资源分配和调度的一个独立单位具有一定独立功能的程序关于某个数据集合的依次运行活动。 线程被称为轻量级的进程是进程中的实体是被操作系统独立调度和分派的基本单位。 内存 进程每启动一个新的就需要分配独立的内存空间而线程是在同一个进程下共享相同的内存空间因此线程的启动和关闭以及切换的除存需要的系统开销都要比进程小。 通信方式 进程间需要使用进程间通信IPC, Inter-Process Communication的方式来进行通信例如**管道信号消息队列共享内存信号量等。**而同一进程中的线程共享相同的内存空间所以线程之间可以直接访问同一进程内的全局变量静态变量等数据线程间通信比进程间通信要容易得多。 影响范围 由于进程具有独立的内存空间所以一个进程崩溃后在保护模式下不会对其他进程产生影响但是一个线程崩溃后会导致整个进程崩溃。 改变环境 每个独立的进程有一个完全独立的运行环境改变自己的运行环境如改变文件打开方式、改变信号处理方式等不会影响其他进程。而线程则不同一个线程改变其运行环境会影响到同在一个进程中的其它线程。 fork 用fork( )创建进程必须的几个要点 要有一段程序供该进程运行有进程专用的系统堆栈空间有进程控制块PCB在linux中具体实现是task_struct有独立的内存空间 如果没有自己独立的内存空间就称为线程。 线程与进程的区别在于线程没有独立的内存空间。 使用fork来创建进程 //testFork.c #includestdio.h #includeunistd.h int main() { int count1;int child; if(!(childfork())) printf(This is son, his count is: %d. and his pid is: %d\n, count, getpid()); else printf(This is father, his count is: %d, his pid is: %d\n, count, getpid()); }显示结果: This is son, his count is: 2. and his pid is: 302 This is father, his count is: 1, his pid is: 301 fork() 调用会创建一个新的进程这个新的进程是当前进程的复制品被称为子进程。 fork() 函数在父进程中返回新创建的子进程的进程ID而在子进程中返回0。 也就是说如果child fork() 的值为0则说明在子进程中将执行 printf(This is son, his count is: %d. and his pid is: %d\n, count, getpid());语句。 否则说明在父进程中将执行 printf(This is father, his count is: %d, his pid is: %d\n, count, getpid()); }语句。 这两行打印语句的区别在于子进程的count值会加一且父子进程的pid是不同的。 vfork 在Unix和类Unix系统中vfork()是一种特殊的fork()。vfork()创建的子进程可能与父进程共享内存这意味着子进程可以修改父进程的内存空间这与fork()是不同的。执行vfork()函数创建的进程仍然是父进程和子进程的关系有各自独立的进程ID但在一些系统如早期的Unix系统中vfork()创建的子进程和父进程共享同一地址空间父进程在子进程结束执行或者调用exec系列函数之前停止执行。这一点与fork()存在明显的差异。 使用vfork创建子进程 //testVfork.c #includestdlib.h #includestdio.h #includeunistd.h int main( ) { int count1; int child;printf(Before create son, the fathers count is:%d\n, count); if(!(childvfork())){ printf(This is son, his pid is: %d and the count is: %d\n, getpid(), count);exit(0); }else printf(After son, This is father, his pid is: %d and the count is: %d, and the child is: %d\n, getpid(), count, child); }显示结果 Before create son, the fathers count is:1 This is son, his pid is: 4185 and the count is: 2 After son, This is father, his pid is: 4184 and the count is: 2, and the child is: 4185 注意这里有三个打印语句其中两个打印语句是在父进程当中 printf(Before create son, the fathers count is:%d\n, count);和printf(After son, This is father, his pid is: %d and the count is: %d, and the child is: %d\n, getpid(), count, child);这两个语句。 而子进程中的打印语句 printf(This is son, his pid is: %d and the count is: %d\n, getpid(), count);将父子进程共享空间里的count了所以父进程后一条打印语句也会打印得到count2。 用vfork创造线程和父子进程的同步问题 在使用 vfork() 创建子进程后父进程将会被挂起。父进程的执行只会在子进程调用 exit() 或者执行 execve() 开始新程序后才会继续。这是 vfork() 与 fork() 的一个主要区别。 //testVfork.c #includestdlib.h #includestdio.h #includeunistd.h int main() { int count1,i; int child;printf(Before create son,the fathers count is:%d\n,count); if(!(childvfork())){ for(i0;i100;i) { printf(This is son, The i is: %d\n, i);if(i70) break; }printf(This is son, his pid is: %d and the count is: %d\n, getpid(), count);exit(0); } else printf(After son, This is father, his pid is: %d and the count is: %d,and the child is: %d\n,getpid(),count,child); }显示结果 …… …… This is son, The i is: 68 This is son, The i is: 69 This is son, The i is: 70 This is son, his pid is: 4434 and the count is:2 After son, This is father, his pid is: 4433 and the count is: 2, and the child is: 4434
http://www.hkea.cn/news/14552593/

相关文章:

  • 网站留言板怎么做自己做影视会员网站
  • 个人建设网站如何定位青海省城乡建设厅网站
  • 营销型网站建设的一般过程包括哪些环节谷歌浏览器中文手机版
  • 去掉wordpress副标题seo搜索引擎实训心得体会
  • 论网站建设情况梅州企业网站
  • 手机网站 标题长度备案需要网站建设方案书
  • 在线制作动画网站高州网站seo
  • 科技设计网站有哪些内容网站建设为风险分析
  • 网站没有域名amp网站建设
  • 网站设计外包网站做成小程序
  • 深圳大型网站建设服务公司微信开放平台开发者
  • tomcat做网站并发官方网站app
  • 网站搜索功能如何实现网站开发的论文引言
  • 湖南广源建设工程有限公司网站60平米一居室装修价格
  • 看装修效果图哪个网站好wordpress安装水煮鱼
  • 企业网站维护存在问题抖音搜索seo
  • 苏州教育学会网站建设福州天成设计
  • 祥云平台官方网站淘宝网站是语言用什么做的
  • 金华北京网站建设百度知道在线
  • 外贸网站推广建站推广营销网络
  • 福田做商城网站建设找哪家公司比较安全娱乐类网站怎么建设
  • 采购网站建设做游戏模型挣钱的网站
  • 网站icp备案怎么查询东莞软件开发培训
  • 网站后台英语去哪里做网站比较好
  • 网站优化网络推广seowordpress弹窗下载插件
  • 嘉兴自助建站系统免费加入微商代理
  • 专业的网站开发建设淄博桓台网站建设方案
  • 赌求网站开发wordpress修改主题教程
  • 广西建设工程协会网站全国信息公示系统官网
  • 山东网站建设设计简易手机网站开发