什么是线程?什么是进程?

lucien-ma 等级 591 1 0
标签:

Java多线程基础

进程和线程的概念

  • 应用程序是静态的概念,进程和线程是动态概念,有创建就有销毁,存在也是暂时的,不是永久性的。
  • 进程与线程的区别在于进程在运行时拥有独立的内存空间(每个进程所占有的内存都是独立的)
  • 多个线程是共享内存空间的,但是每个线程的执行时相互独立的,同时线程必须依赖于进程才能执行,单独的线程是无法执行的,由进程来控制多个线程的执行。
  • 我们通常所说的多线程是指在一个进程中,多个线程同时执行
  • 这里说的同时执行不是真正意义上的同时执行,系统会自动为每个线程分配cup资源,在某个具体时间段内CPU的资源被一个线程占用,在不同的时间段内由不同的线程来占用CPU资源,所以多个线程还是在交替执行,只不过因为CPU运行速度太快,感觉上是在同时执行


主线程

class MyTest{
    public void test(){
        System.out.println("MyTest");
    }
}
public class Test{
    public static void main(String[] args){
        System.out.println("Thread");
        MyTest myTest = new MyTest();
        myTest.test();
    }
}

程序运行起来之后只有一个线程在执行,就是main方法,所以main方法也叫作陈旭的主线程,main方法中无论调用多少个其他类的方法,也都只是一个线程


收藏
评论区

相关推荐

Java判断一个数是不是快乐数
快乐数的定义: 快乐数(happy number)有以下的特性: 在给定的进位制下,该数字所有数位(digits)的平方和,得到的新数再次求所有数位的平方和,如此重复进行,最终结果必为1。 以十进制为例: 2 8 → 2²8²68 → 6²8²100 → 1²0²0²1 3 2 → 3²2²13 → 1²3²10 → 1²0²1 3 7 → 3
JavaScript 是什么?
前言 引用《JavaScript 高级程序设计第四版》中说的话 ——“从简单的输入验证脚本到强大的编程语言,JavaScript 的崛起没有任何人预测到。它很简单,学会用只要几分钟;它又很复杂,掌握它要很多年。要真正学好用好 JavaScript,理解其本质、历史及局限性是非常重要的”。 面试官:JavaScript 是什么? 我:
什么是线程?什么是进程?
Java多线程基础 进程和线程的概念 应用程序是静态的概念,进程和线程是动态概念,有创建就有销毁,存在也是暂时的,不是永久性的。 进程与线程的区别在于进程在运行时拥有独立的内存空间(每个进程所占有的内存都是独立的) 多个线程是共享内存空间的,但是每个线程的执行时相互独立的,同时线程必须依赖于进程才能执行,单独的线程是无法执行的,由进程来控制多个线程的执行。
MongoDB是什么
**MongoDB是什么?** MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。 **那么nosql又是什么?** NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的we
HTTP是时候安息了:HTTPS才是王道!
Mozilla安全工程师Richard Barnes近日发出呼吁,号召开发人员放弃不安全的HTTP协议,全面转向**HTTPS**。 他希望浏览器能将更多的新功能仅开放给HTTPS,从而逐渐淘汰HTTP,目的自然是提高安全性。 他在一份报告中写到:“为了鼓励Web开发人员从HTTP转向HTTPS,我想提议设置一个淘汰不安全HTTP的计划。笼统地说,该计划
JIT是什么
Just-in-time compilation ======================== ### From Wikipedia, the free encyclopedia that anyone can edit For other uses, see  [Just In Time](https://my.oschina.net/wiki/J
JavaBean是什么
作者:杨博 链接:https://www.zhihu.com/question/19773379/answer/31625054 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Java语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。
PHP算法之判断是否是质数
<h3>质数的定义</h3> <blockquote>质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。</blockquote> <h3>实现思路</h3> <p>循环所有可能的备选数字,然后和中间数以下且大于等于2的整数进行整除比较,如果能够被整数,则肯定不是质数,相反,就是质数。</p> <h3>第一种算
CDN是什么?
CDN是Content Delivery Network的简称,即“内容分发网络”的意思。一般我们所说的CDN加速,一般是指网站加速或者用户下载资源加速。 CDN是通过在网络各处放置节点服务器,形成在现有的互联网基础之上的一层智能虚拟网络。CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户
Docker是什么
一. Docker概念简介 ============= Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPho
Electron是个啥?
 于2013年作为构建Github上可编辑的文本编辑器Atom的框架而被开发出来  是目前开源开发者、初创企业和老牌公司常用的开发工具  是桌面应用框架  相当于一个浏览器的外壳,可以把网页程序嵌入到壳里面,可以运行在桌面上的一个程序  把网页打包成一个在桌面运行的程序  比如像QQ、优酷、网易音乐等等  功能的强大超出你的想象,可以构建跨平台桌
Node.JS是什么?
百度上是这么说的:Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome‘s JavaScript runtime,也就是说,实际上它是对Goole V8引擎进行了封装。 **Node.js的优点** nodejs作为一个新兴的后台语言,有很多吸引人的地方: RESTful API 单线程 Node.js可以在不新增
REST是什么?RESTFul又是什么?这二者的关系是怎样的?
### REST(一种软件架构风格) #### 全称:Representational State Transfer #### 含义:(表述性 状态 转移) > 是一种针对[网络应用](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fbaike.baidu.com%2Fitem%2F%
Redis是什么
redis是Nosql数据库,是一个key-value存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。虽然redis是key-value的存储系统,但是redis支持的value存储类型是非常的多,比如字符串、链表、集合、有序集合和哈希。
Skywalking是什么
Skywalking 是一个分布式追踪(Trace)系统。除了 Skywalking 之外,比较出名的分布式追踪系统还有 Dapper、鹰眼、Pinpoint 、Zipkin等等。要是大家不了解 Trace 系统,可以先 Google,基本上都是根据 Google 的论文(http://bigbully.github.io/Dapper-transl