程序、进程、线程的区别。

程序(program):是一个指令的集合。程序不能独立执行,只有被加载到内存中,系统为他分配资源后才能执行。

进程(process):一个执行中的程序称为进程。

进程是系统分配资源的独立单位,每个进程战友特定的地址空间。

程序是进程的静态文本描述。进程是程序在系统内顺序执行的动态活动。

线程(thread):是进程的“单一的连续控制流程”。

线程是CPU调度和分配的基本单位,是比进程更小的能独立运行的基本单位,也被称为轻量级的进程。

线程不能独立存在,必须依附于某个进程,一个进程可以包括多个并行的线程。

附:Java创建线程的两种方式,事实上其本质是一样的,因为thread类本身是实现了runnable接口的。

public class MyDefinedThread extends Thread{

//重写run()方法
@Override
public void run() {
//把线程需要执行的任务写在run()方法里;
}

public static void main(String[] args) {
MyDefinedThread mdt = new MyDefinedThread();
mdt.start();

}

}

public class MyRunnable implements Runnable {

@Override
public void run() {
//把线程需要执行的任务写在run()方法里;
}

public static void main(String[] args) {
MyRunnable mr = new MyRunnable();
//mr并不是一个线程对象,而是要作为参数传递到thread的构造方法中;“th”才是一个线程对象
Thread th = new Thread(mr);
th.start();
}

}

Java中程序、进程、线程的区别。的更多相关文章

  1. -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中

     本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁  sleep()和wait()方法的区别 为什么wait( ...

  2. Java中的进程和线程

     Java中的进程与线程 一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是 ...

  3. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  4. 初步探究java中程序退出、GC垃圾回收时,socket tcp连接的行为

    初步探究java中程序退出.GC垃圾回收时,socket tcp连接的行为 今天在项目开发中需要用到socket tcp连接相关(作为tcp客户端),在思考中发觉需要理清socket主动.被动关闭时发 ...

  5. java中fail-fast 和 fail-safe的区别

    java中fail-fast 和 fail-safe的区别   原文地址:http://javahungry.blogspot.com/2014/04/fail-fast-iterator-vs-fa ...

  6. 【Java面试题系列】:Java中final finally finalize的区别

    本篇为[Java面试题系列]第三篇,文中如有错误,欢迎指正. 第一篇链接:[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 第二篇链接:[Java面试题系列]:Java基础知识常见面试题 ...

  7. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  8. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  9. Java中堆和栈的区别(转)

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.      Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new. ...

  10. Java中的守护线程 & 非守护线程(简介)

    Java中的守护线程 & 非守护线程 守护线程 (Daemon Thread) 非守护线程,又称用户线程(User Thread) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守 ...

随机推荐

  1. rank SQL 筛选重复数据

    先思考一个问题: 看下面的表数据 问题:现在需要在 A 和 B 相同的前提下对 C desc排序,然后拿到排序中不是第一个的数据?也就是说拿到下面的数据 只用一条 SQL 实现: select * f ...

  2. git 平时遇到的问题记录

    1.git warning: LF will be replaced by CRLF in 解决办法 git config core.autocrlf false 2.git提交时如何忽略一些文件 h ...

  3. iOS——使用FMDB进行数据库操作(转载)

    iOS 使用FMDB进行数据库操作 https://github.com/ccgus/fmdb [摘要]本文介绍iOS 使用FMDB进行数据库操作,并提供详细的示例代码供参考. FMDB 使用方法 A ...

  4. 在eNSP下使用Hybird接口

    1.实验拓扑图 2.实验编址表 3.实验过程 按照拓扑图设置各个PC机的IP地址 双击PC1然后弹出对话框,依次设置主机名:PC1→IP地址:192.168.1.1→子网掩码:255.255.255. ...

  5. vba Excel连接数据库

    PostgreSql: 第一步 在网上下载postres的驱动程序,之后安装,下载地址:https://www.devart.com/odbc/postgresql/download.html 第二步 ...

  6. Java Script 学习日志 Div

    2019年7月7日 学习网站: http://www.w3school.com.cn/js/js_examples.asp 1.输出 1. 1首先就是输出看 <script> docume ...

  7. 转:TSDF in Kinect fusion

    KinectFusion中用到的TSDF Fusion 原po:https://blog.csdn.net/qq_31785865/article/details/78524429 最近在看关于稠密三 ...

  8. BBC这10部国宝级纪录片,让孩子看遍世间最美的地方

    https://weibo.com/ttarticle/p/show?id=2309404382383649486138#related

  9. java中不常见的关键字:strictfp

    1.strictfp, 即 strict float point (精确浮点). strictfp 关键字可应用于类.接口或方法.使用 strictfp 关键字声明一个方法时,该方法中所有的float ...

  10. SecureCRT SSH 失败 Key exchange failed 解决方法

    背景:SecureCRT 的SSH正常使用过程中,突然出现: Key exchange failed. No compatible hostkey.The server supports these ...