`

进程和线程2

 
阅读更多

摘自:http://gongmingwind.iteye.com/blog/339278

 

 

一、操作系统中线程和进程的概念 

现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 

进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 

线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 

“同时”执行是人的感觉,在线程之间实际上轮换执行。 

二、Java中的线程
 

在Java中,“线程”指两件不同的事情: 
1、java.lang.Thread类的一个实例; 
2、线程的执行。 

使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。 

一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。 

Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。 

一个Java应用总是从main()方法开始运行,mian()方法运行在一个线程内,它被称为主线程。 

一旦创建一个新的线程,就产生一个新的调用栈。 

线程总体分两类:用户线程和守候线程。 

当所有用户线程执行完毕的时候,JVM自动关闭。但是守候线程却不独立于JVM,守候线程一般是由操作系统或者用户自己创建的。 

分享到:
评论

相关推荐

    进程和线程之间的关系

    2. **调度和切换成本**:由于线程间共享资源,其调度和切换成本比进程低得多。 3. **通信机制**:进程间的通信(IPC)较为复杂,需要通过特定的机制实现,如管道、消息队列、信号量等;而线程间的通信可以直接访问...

    进程与线程的生动形象理解

    进程与线程作为操作系统中的核心概念,对于理解和开发高效的软件至关重要。本文旨在通过一个生动的类比来帮助读者更好地理解进程与线程的基本概念及其差异,并进一步探讨它们在实际应用中的联系与区别。 #### 二、...

    进程和线程详解

    2. 创建销毁成本:创建和销毁进程的开销较大,因为涉及资源分配;线程的创建和销毁则相对快速。 3. 通信效率:进程间通信需要借助额外机制,如管道、套接字等;线程间可以直接访问共享内存,通信效率高。 4. 隔离性...

    在Windows下创建进程和线程的API

    Windows 下创建进程和线程的 API 在 Windows 操作系统中,创建进程和线程是非常重要的一步骤,对于开发者来说,掌握这方面的知识点是非常必要的。下面我们将详细介绍 Windows 下创建进程和线程的 API。 一、实验...

    进程和线程有什么区别?

    用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?...

    进程线程及死锁

    2. 线程的概念和类型 3. POSIX规范中的系统调用(fork、kill、pthread_create等) 4. 死锁的概念和类型 5. 互斥锁的概念和使用 6. 进程控制的实验程序设计和实现 7. 线程创建和管理 8. 死锁的避免和解决方法 注意:...

    最清楚的进程线程,进程和线程对比

    在操作系统中,进程和线程是两个非常核心的概念,它们代表了程序在系统中的运行状态以及运行方式。为了深入理解这两个概念,我们首先要明确什么是进程。 进程是具有一定独立功能的程序关于某个数据集合上的一次运行...

    进程和线程的主要区别

    "进程和线程的主要区别" 在计算机科学中,进程和线程是两个基本概念,它们都是操作系统中非常重要的资源管理方式。进程是系统进行资源分配和调度的一个独立单位,拥有独立的地址空间,一个进程崩溃后,在保护模式下...

    c语言多进程多线程编程

    在计算机科学中,多进程和多线程是两种并发执行的方式,它们允许程序在同一时间处理多个任务,从而提高系统的效率和响应性。C语言作为一门底层且强大的编程语言,提供了丰富的系统调用接口来实现多进程和多线程编程...

    进程与线程的一个简单解释

    进程和线程是计算机系统中执行程序的基本单位,理解它们的概念和运作机制对于进行多线程编程至关重要。这里,我们将深入探讨这两个概念及其关系。 首先,让我们定义一下进程。进程可以被视为一个单独的执行单元,它...

    c++进程与线程

    在计算机科学领域,C++是一种强大的编程语言,它支持创建多进程和多线程的应用程序。进程和线程是操作系统中的基本概念,对于理解和优化软件性能至关重要。让我们深入探讨这两个概念以及它们在C++编程中的应用。 **...

    delphi进程和线程

    进程和线程是操作系统中两种重要的执行单元。进程是系统分配资源的基本单位,每个进程都有自己独立的内存空间,这使得进程之间的数据无法直接共享,但可以借助于通信机制进行交互。当一个进程崩溃时,由于其拥有独立...

    C#进程和线程资料集锦

    "C#进程和线程资料集锦"这一主题涵盖了进程与线程的基本概念、管理和同步技术,是C#开发者必备的知识库。 **进程与线程** 1. **进程**:进程是操作系统资源分配的基本单位,每个运行的应用程序都有一个独立的进程。...

    进程与线程的管理 .PPT 进程、线程和优先级

    而线程则是执行的基本单元,是进程中独立的执行路径,每个进程至少有一个主线程,用于启动和执行进程的主要任务。 线程的优先级是调度的重要依据,Windows系统中,线程被分为32个优先级等级,从0到31,0表示最低...

    Xuetr0.45(暂停进程和线程运行工具)

    1.进程、线程、进程模块、进程窗口、进程内存信息查看,杀进程、杀线程、卸载模块等功能 2.内核驱动模块查看,支持内核驱动模块的内存拷贝 3.SSDT、Shadow SSDT、FSD、KBD、TCPIP、Classpnp、Atapi、Acpi、SCSI、IDT...

    进程和线程的创建 _实验报告.doc

    这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 观察程序运行的结果,并对你看到的现象进行解释。 2.在linux环境下编写一个控制台应用程序,程序中有...

    进程线程及堆栈关系的总结

    ### 进程线程及堆栈关系的总结 #### 一、进程与线程的概念及其关系 **进程**是具有一定独立功能的程序在一个特定数据集合上的运行活动,是系统进行资源分配和调度的一个独立单位。进程是操作系统进行管理和调度的...

    Windows进程和线程

    Windows 进程和线程 Windows 操作系统是一个多任务操作系统,可以同时执行多个进程。每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。进程的特点包括: 1. 每个进程都有自己的 ID 号 2. 每个进程都...

    进程和线程的区别与联系

    进程和线程是计算机操作系统中的两个基本概念,它们在程序执行和系统资源管理中起着至关重要的作用。本文将深入探讨这两个概念的区别、联系以及在Java环境中的具体应用。 首先,程序是静态的代码集合,它是一组指令...

Global site tag (gtag.js) - Google Analytics