热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

demo程序是什么_你是否真的懂[程序的运行顺序]多进程/进程池

linux如何运行一个程序linux在运行任何程序之时,都要调用execve系统调用函数,然后把你的程序和你给的参数以及环境参数扔给程序的入口函数。入口

linux 如何运行一个程序

linux 在运行任何程序之时,都要调用 execve 系统调用函数,然后把你的程序和你给的参数以及环境参数扔给程序的入口函数。

入口函数

php【php 脚本依赖 php 解释器】解释器运行,源码就是 c【真是废话,谁不知道,用我来逼逼半天】入口函数就是 main【如 mysql,redis,php,nodejs,python,memcached,apache 等】

0bc085e8e4e6bff10ebe16566f55f13c.png

该程序的代码,数据容量

2d501ccec7940e1965a14f770d8c2f8a.png

测试源码

不管什么语言的源码【不必在意语言】,道理都一样的

class demo
{
public:demo(int age,char *name):m_age(age),m_name(name){}void run();void child();void parent();
public:int m_age;char *m_name;pid_t pid;int num[3];
};void demo::child()
{printf("child run %d&#61;&#61;%d&#61;%dn",getpid(),pid,m_age);while(1){sleep(1);printf("child run %d&#61;%d&#61;%dn",getpid(),pid,m_age);printf("我要访问demo类成员的数据n");printf("demo::m_name&#61;%sn",m_name);printf("demo::m_age&#61;%dn",m_age);printf("demo::pid&#61;%dn",pid);for(int i&#61;0;i<3;i&#43;&#43;){printf("demo::num[%d]&#61;%dn",i,num[i]);}}}void demo::parent()
{printf("parent run %d&#61;%d&#61;%dn",getpid(),pid,m_age);while(1){sleep(1);printf("parent run %d&#61;%d&#61;%dn",getpid(),pid,m_age);printf("我要访问demo类成员的数据n");printf("demo::m_name&#61;%sn",this->m_name);printf("demo::m_age&#61;%dn",this->m_age);printf("demo::pid&#61;%dn",this->pid);for(int i&#61;0;i<3;i&#43;&#43;){printf("demo::num[%d]&#61;%dn",this->num[i]);}}
}
void demo::run()
{cout<<"main process "<0){continue;}else if(pid&#61;&#61;0){m_age&#61;i&#43;1;break;}}}
int main()
{demo *obj &#61; new demo(100,(char*)"jack");obj->run();if(obj->m_age){obj->child();}else{obj->parent();}return 0;
}

运行图解

64a42e06fcc11053d4b7c8d1d5629ffd.png

多进程父子进程间的代码和数据在内存空间的图

只能截个大概

1cb634e817f7275bdab309fec2427322.png
0f540db2bd9d64085530c011e2dd9525.png

https://learnku.com/articles/45110

更多PHP内容请访问&#xff1a;

八重樱&#xff1a;腾讯T3-T4标准精品PHP架构师教程目录大全&#xff0c;只要你看完保证薪资上升一个台阶&#xff08;持续更新&#xff09;​zhuanlan.zhihu.com
065903e703d505b9d31dba34c69f84f5.png

以上内容希望帮助到大家&#xff0c;很多PHPer在进阶的时候总会遇到一些问题和瓶颈&#xff0c;业务代码写多了没有方向感&#xff0c;不知道该从那里入手去提升&#xff0c;对此我整理了一些资料&#xff0c;包括但不限于&#xff1a;分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6&#xff0c;laravel&#xff0c;YII2&#xff0c;Redis&#xff0c;Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家&#xff0c;需要的可以加入我的官方群点击此处。



推荐阅读
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 旁路|发生_Day749.旁路缓存:Redis是如何工作的Redis 核心技术与实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Day749.旁路缓存:Redis是如何工作的-Redis核心技术与实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
author-avatar
herozhx
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有