main函数是主线程吗

1、线程的概念:

线程是程序最基本的运行单位,而进程不能运行,所以能运行的,是进程中的线程。

2、线程是如何创建起来的:

进程仅仅是一个容器,包含了线程运行中所需要的数据结构等信息。一个进程创建时,操作系统会创建一个线程,这就是主线程,而其他的从线程,却要主线程的代码来创建,也就是由程序员来创建。

当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻运行,该线程通常叫做程序的主线程(Main Thread),因为它是程序开始时就执行的,如果你需要再创建线程,那么创建的线程就是这个主线程的子线程。每个进程至少都有一个主线程,在Winform中,应该就是创建GUI的线程。  主线程的重要性体现在两方面:1.是产生其他子线程的线程;2.通常它必须最后完成执行比如执行各种关闭动作。

3、究竟main函数是进程还是线程呢:

因为它们都是以main()做为入口开始运行的。 是一个线程,同时还是一个进程。在现在的操作系统中,都是多线程的。但是它执行的时候对外来说就是一个独立的进程。这个进程中,可以包含多个线程,也可以只包含一个线程。当用c写一段程序的话,就是在操作系统中起一个进程它包含一个线程。而当用java等开发一个多线程的程序的话,它在操作系统中起了一个进程,但它可以包含多个同时运行的线程。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nnngu

Struts2的配置和一个简单的例子

Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes ---- 简介 这篇文章主要讲如何...

2813
来自专栏Danny的专栏

【SSH快速进阶】——Spring抽象公共配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

663
来自专栏专注 Java 基础分享

Maven 整合 SSH 框架

     前面的一系列文章中,我们总结了三大框架:Struts2,Hibernate,Spring 的基本知识。本篇就姑且尝试着使用 Maven 这个项目构建工...

19910
来自专栏菩提树下的杨过

利用ganymed-ssh2远程执行其它Linux机器上的shell命令

实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求。事实上hadoop架构中,从nn上启动dn...

18510
来自专栏Ryan Miao

spring in action 4th --- quick start

读spring in action.  环境搭建 quick-start依赖注入 面向切面 1.环境搭建 jdk1.8 gradle 2.12 Intelij...

2788
来自专栏java 成神之路

jvm 性能调优工具之 jstack

3095
来自专栏Hongten

Struts2 ActionMethod DMI(动态方法调用)

如:<action name="user" class="com.b510.hongten.UserAction" method="add">

832
来自专栏学习力

《Java从入门到放弃》框架入门篇:使用注解的方式配置hibernate映射关系

1337
来自专栏java学习

Spring学习笔记2_IOC与DI

本章目录 Spring学习笔记2_IOC与DI 1.Spring的jar包下载 2.Spring开发环境搭建 3.IOC快速入门 4.DI 1.Spring...

2646
来自专栏java学习

Spring学习笔记5_Spring注解配置Bean

本章目录 Spring学习笔记5_Spring注解配置Bean 1.完成bean注册操作 2.属性依赖注入 3.其他注解 4.Spring在web中开发应用 ...

3015

扫描关注云+社区