`
nigel521
  • 浏览: 12048 次
社区版块
存档分类
最新评论

黑马程序员——线程与进程

 
阅读更多

  ------- android培训java培训、期待与您交流! ----------

进程:是一个正在执行中的程序。
  每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。

线程:就是进程中的一个独立的控制单元。
  线程在控制着进程的执行。

一个进程中至少有一个线程。

 

Java VM  启动的时候会有一个进程java.exe.

该进程中至少一个线程负责java程序的执行。
而且这个线程运行的代码存在于main方法中。
该线程称之为主线程。

扩展:其实更细节说明jvm,jvm启动不止一个线程,还有负责垃圾回收机制的线程。

 

1,如何在自定义的代码中,自定义一个线程呢?

通过对api的查找,java已经提供了对线程这类事物的描述。就Thread类。

创建线程的第一种方式:继承Thread类。
步骤:
1,定义类继承Thread。
2,复写Thread类中的run方法。
 目的:将自定义代码存储在run方法。让线程运行。

3,调用线程的start方法,
 该方法两个作用:启动线程,调用run方法。

 

发现运行结果每一次都不同。
因为多个线程都获取cpu的执行权。cpu执行到谁,谁就运行。
明确一点,在某一个时刻,只能有一个程序在运行。(多核除外)
cpu在做着快速的切换,以达到看上去是同时运行的效果。
我们可以形象把多线程的运行行为在互相抢夺cpu的执行权。

这就是多线程的一个特性:随机性。谁抢到谁执行,至于执行多长,cpu说的算。

 

为什么要覆盖run方法呢?

Thread类用于描述线程。
该类就定义了一个功能,用于存储线程要运行的代码。该存储功能就是run方法。

也就是说Thread类中的run方法,用于存储线程要运行的代码。

分享到:
评论

相关推荐

    操作系统实验报告——线程与进程同步

    操作系统实验报告——线程与进程同步,主要探讨了在Linux环境下如何实现进程和线程的同步,以解决经典的生产者-消费者问题。该实验旨在帮助学生掌握操作系统提供的同步机制,并深化对经典同步问题的理解。 实验内容...

    多线程高新(黑马程序员)

    本文将深入探讨“多线程高新”这一主题,结合黑马程序员的课程内容,来阐述多线程的核心概念、优势、实现方式以及在实际应用中的注意事项。 首先,多线程是指在一个进程中同时执行多个线程,这些线程可以共享同一...

    黑马程序员Javase笔记

    "黑马程序员Javase笔记"是一个自学者在学习黑马程序员提供的Java全套课程过程中整理的笔记,主要涵盖了Java Standard Edition (Javase) 的核心内容。下面将详细讨论其中的关键知识点。 首先,DOS命令是操作系统中的...

    B站黑马程序员Python教程学习笔记.zip

    6. **并发编程**:了解线程(threading模块)和进程(multiprocessing模块)的概念,以及如何在Python中实现并发。 7. **装饰器**:掌握这一强大的语法特性,用于修改或增强函数的行为。 8. **生成器**:学习如何...

    黑马程序员-Java语言进阶-源码、教程笔记.zip

    day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流 day10_缓冲流、转换流、序列化流、Files day11_网络编程 day12_函数式接口 day13_Stream流、方法引用 Java基础小节练习题答案

    黑马程序员-java多线程技术01

    本教程将聚焦于Java中的多线程技术,以“黑马程序员-java多线程技术01”为学习起点,探讨如何在Java中实现并管理线程。 首先,我们来理解什么是线程。线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个...

    黑马程序员2018python爬虫课件完整版

    黑马程序员作为知名的IT教育机构,其2018年的Python爬虫课程旨在教授学员如何有效地抓取和处理网络上的信息。在这个完整的课程中,你将深入理解Python爬虫的基本原理,并学习到一系列实用的技巧。 首先,Python之...

    黑马程序员-Qt讲义.pdf

    Qt提供了多线程编程的支持,包括线程的基本概念介绍、多线程的使用方法和线程安全绘图等。在数据库操作方面,Qt也提供了强大的支持,包括数据库操作的基本概念、使用模型操作数据库和对数据库数据的可视化显示等。 ...

    黑马程序员入学Java知识——精华总结

    含面向对象,异常处理和常用类,线程技术,集合框架,IO操作,网络编程,文件操作,反射机制,

    黑马程序员–Java多线程讲解笔记

    Java多线程是Java编程中不可或缺的部分,它允许程序同时执行多个任务,提高了程序的效率和响应速度。本文主要探讨了多线程的概念、应用场景...因此,理解和掌握Java的多线程技术对于任何Java程序员来说都是至关重要的。

    黑马程序员java贪吃蛇源码

    《黑马程序员Java贪吃蛇源码解析》 贪吃蛇是一款经典的计算机游戏,它简单易懂,却又富有挑战性,是许多程序员初次接触编程时的启蒙之作。在Java编程领域,贪吃蛇同样是一个很好的实践项目,能帮助初学者理解和掌握...

    Linux程序员——C语言源代码

    6. **线程编程**:通过`pthread`库,C程序员可以在Linux上创建和管理线程,实现并发执行。 7. **网络编程**:C语言中的套接字API(`socket`、`bind`、`listen`、`accept`、`send`、`recv`等)可用于实现网络通信,...

    操作系统面试——程序、进程、线程[借鉴].pdf

    "操作系统面试——程序、进程、线程" 在操作系统中,程序、进程和线程是三个紧密相关的概念。程序是指一组静态的指令集合,存储在磁盘上,以文件的形式存在。进程则是指程序的实例,运行在自己的地址空间中,拥有...

    Unix环境高级编程——线程控制PPT

    线程控制允许程序员在单个进程中同时执行多个独立的执行流,从而提高程序的并发性和效率。以下是对《Unix环境高级编程》第十二章——线程控制中的主要知识点的详细说明: 1. **线程控制**:线程的创建、同步和销毁...

    黑马程序员Android学习笔记

    《黑马程序员Android学习笔记》是一份专为初学者设计的详尽教程,旨在帮助那些希望踏入安卓开发领域的人员快速掌握核心知识。这份笔记涵盖了从基础到进阶的多个主题,帮助学习者系统地理解Android应用开发的过程。 ...

    黑马程序员安卓 笔记代码(包含源码) 第76期

    【标签】包括"黑马程序员"、"安卓"、"笔记"、"源码"和"76",这些标签为我们提供了关键信息:这是由知名教育机构"黑马程序员"出品的安卓开发教学资料,重点是理论与实践结合的笔记内容,并且附带源代码,适合学员通过...

    传智播客.黑马程序员《Java 基础入门》课后习题答案

    1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、 JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了 Java 程序运 行时所需要的基本条件和许多 Java ...

Global site tag (gtag.js) - Google Analytics