程序-进程-线程 ( 多线程 )
1、程序 (program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态的对象。
2、进程 (process) 是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。
1)如:运行中的QQ,运行中的MP3播放器
2)程序是静态的,进程是动态的
3、线程 (thread) ,进程可进一步细化为线程,是一个程序内部的一条执行路径。
1)若一个程序可同一时间执行多个线程,就是支持多线程的
4、何时需要多线程?
1)程序需要同时执行两个或多个任务。
2)程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。
3)需要一些后台运行的程序时。
5、线程的生命周期
6、线程状态转换图:
7、线程的同步
2)问题的原因
当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共 享数据的错误。
3)解决办法:
对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以参与执行。
4)Synchronized的使用方法
// 需要被同步的代码;
}
例如:
public synchronized void show (String name){
….
}
8、互斥锁
小结:
1、释放锁的操作
9、线程的死锁问题
10、线程通信
1)wait() 与 notify() 和 notifyAll()
转载于:https://www.cnblogs.com/changyinlu/p/4681268.html
程序-进程-线程 ( 多线程 )相关推荐
- 02 线程简介 多任务 多线程 普通方法调用和多线程 程序.进程.线程 Proces与Thread 核心概念
线程简介 任务,进程,线程,多线程 多任务 多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务 多线程 原来是一条路,慢慢因为车太多了,道路堵塞,效率极低. 为了提高使用的 ...
- 易语言多线程大漠多线程进程线程多线程
进程-线程-多线程 1.进程(process) 狭义定义:进程就是一段程序的执行过程 简单的来讲进程的概念主要有两点: 第一,进程是一个实体.每一个进程都有它自己的地址空间,一般情况下,包括文本区域( ...
- CPU核心数线程数、程序进程线程、并发并行的简单理解
CPU核心数线程数.程序进程线程.并发并行.简单理解和区分 这篇文章是对上述感念的简单理解,想深入研究可以看看<计算机组成原理> CPU的核心数 线程数 当我们买电脑的时候,会看到CPU的 ...
- Python_进程/线程/多线程理解
目录 进程.线程.多线程: 1.进程与线程区别 (1)进程与线程区别 (2)多进程与多线程区别 (3)更多区别 2. 进程简单理解 3. 线程简单理解 进程.线程.多线程: 进程:资源分配的最小单位. ...
- CPU核心数线程数、程序进程线程、并发并行
核心数(物理概念) 8核:有8个相对独立的CPU核心单元组,这是物理概念,也就是说1个CPU有 8个独立的小CPU,物理上只能同时处理8个任务,也就是物理上是8核8线程. 线程数(逻辑概念) 既然物理 ...
- 20140625 程序 进程 线程 物理存储器
1.程序 .exe就是一个程序 2.进程 运行一个.exe的可执行程序后,就启动了该程序的一个实例,我们称之为"进程".是资源申请,调度和独立运行的单位,使用系统的运行资源 3.线 ...
- linux指定cpu运行程序,进程/线程绑定到特定CPU核的linux实现(有代码有实例)
前言 现在计算机上的CPU大多都是多核的,有4核甚至是8核的.但是一个计算机启动之后其进程数是远远多于CPU核数的,因为操作系统会给自动调度这些进程在CPU核上轮流运行.但是对于应用程序或者进程,其性 ...
- linux 程序 进程 线程的关系
程序 定义:通常为二进制文件存放在存储媒介中(硬盘,光驱,软盘等),已物理文件的形式存在. 启动程序,通常要运行某个文件,这个文件就是程序,程序其实是存放在磁盘中的一个二进制文件. 进程 程序被触发后 ...
- 小浩浅谈 程序/进程/线程,并行/并发
1.程序,随着时代和社会的发展,我们开始学习各种各样的计算机语言,开始离不开编程,但是我们需要了解的是,什么是程序?程序代表什么?以及程序的作用?以及我们编程,编写程序是为了干嘛? 在这,我认为程序指 ...
最新文章
- 有没搞错?Java 对象不使用时要赋值为 null?
- oracle 错误解决
- 卡迪夫大数据专业排名_大数据揭秘!英国名校哪些专业录取率低?申请人最多呢?...
- 「小算法」回文数与数值合法性检验
- BJRangeSliderWithProgress
- 当页面上的某个控件回发时,保持滚动条位置的。
- MySQL日志的类型和实现方法_mysql的日志类型及作用
- 【华为云技术分享】Linux内核编程环境 (2)
- 单例模式(java代码实现)
- freemarker ftl文件简单语法整理
- vue 或 js 实现 excel表格的导出(笔记)
- [转]外贸出口流程图
- 32位掩码转换成子网掩码
- JZ·7.8.2019
- 背光模块市场现状研究分析与发展前景预测报告
- 阿里柏羲带你读tomcat源码
- 【Python学习】matplotlib学习总结——条形图
- 计算机网络 华东理工大学 第2章测试
- 开源物联网应用开发平台列表
- cvs数据格式 gps_CVS 操作