• linux中应用程序main函数中没有开辟进程的,它应该在那个进程中运行呢?


    1.main函数是一个进程还是一个线程?

    不知道你是用c创建的,还是用java创建的。
    因为它们都是以main()做为入口开始运行的。 

    是一个线程,同时还是一个进程。
    在现在的操作系统中,都是多线程的。但是它执行的时候对外来说就是一个独立的进程。
    这个进程中,可以包含多个线程,也可以只包含一个线程。

    当用c写一段程序的话,就是在操作系统中起一个进程它包含一个线程。

    而当用java等开发一个多线程的程序的话,它在操作系统中起了一个进程,但它可以包含多个同时运行的线程。

    你起一个CS游戏,这上CS游戏在操作系统中就是一个进程。

    但是这个游戏一边在打枪,一边人在走动,一边还有音乐 ,
    打枪 , 走动 , 音乐 等都是一些线程。

    线程不是由进程决定了。
    这样会不会明白一点。

    也就是说:你在操作系统中启动的任一个独运行的程序或者软件都是一个进程。
    包括你在Linux中运行top时,它也是一个进程(当然很多人说成是线程),它有独立的进程ID,
    可以用ps -ef| grep top的方式查看,并可以用kill 进程ID杀掉的。

    但是这个进程包括几个线程,是由你的需求决定的,在写程序时由程序逻辑决定的;
    而这些线程是包含在这个进程中的,而且这些线程他们共用CPU资源,在工作的过程
    中需要不断的进行切换,轮换CPU时断,而各个线程在进行轮换时会共用进程的一些共享区域(或者交换空间)。其它的没有什么。

    2.在Linux中编程,在main主函数中调用fork(),创建新进程。谁是父进程?是main函数所在的进程为父进程吗?谢谢!

    是的. main()函数所在的进程是父进程, 用fork()创建的是子进程.

    fork返回值大于0的是父进程,否则是子进程

    http://www.360doc.com/content/08/1123/13/36491_1984855.shtml

    http://www.cnblogs.com/skynet/archive/2010/10/30/1865267.html

    ??

  • 相关阅读:
    win10安装.net3.5
    VS2015密钥
    wordpress目录文件结构说明
    js | javascript获取和设置元素的属性
    wordpress | WP Mail SMTP使用QQ邮箱发布失败的解决办法
    jquery 实时监听输入框值变化方法
    XPath编写规则学习
    如何将portfolio产品图片上的悬停去掉?
    wordpress怎么禁止文章复制
    js | javascript实现浏览器窗口大小被改变时触发事件的方法
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4593770.html
Copyright © 2020-2023  润新知