我对线程的理解 黑马程序员


进程:正在进行中的程序。其实进程就是一个应用程序运行时的内存分配空间。 线程:其实就是进程中一个程序执行控制单元,一条执行路径。进程负责的是应用程序的空间的标示。线程负责的是应用程序的执行顺序。

一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区、自己的变量。 jvm在启动的时,首先有一个主线程,负责程序的执行,调用的是main函数。主线程执行的代码都在main方法中。 当产生垃圾时,收垃圾的动作,是不需要主线程来完成,因为这样,会出现主线程中的代码执行会停止,会去运行垃圾回收器代码,效率较低,所以由单独一个线程来负责垃圾回收。

随机性的原理:因为cpu的快速切换造成,哪个线程获取到了cpu的执行权,哪个线程就执行。

返回当前线程的名称:Thread.currentThread().getName() 线程的名称是由:Thread-编号定义的。编号从0开始。 线程要运行的代码都统一存放在了run方法中。

线程要运行必须要通过类中指定的方法开启。start方法。(启动后,就多了一条执行路径) start方法:1)、启动了线程;2)、让jvm调用了run方法。

创建线程的第一种方式:继承Thread ,由子类复写run方法。 步骤: 1,定义类继承Thread类; 2,目的是复写run方法,将要让线程运行的代码都存储到run方法中; 3,通过创建Thread类的子类对象,创建线程对象; 4,调用线程的start方法,开启线程,并执行run方法。

线程状态: 被创建:start() 运行:具备执行资格,同时具备执行权; 冻结:sleep(time),wait()—notify()唤醒;线程释放了执行权,同时释放执行资格; 临时阻塞状态:线程具备cpu的执行资格,没有cpu的执行权; 消亡:stop()

时间: 2024-10-08 05:41:12

我对线程的理解 黑马程序员的相关文章

我对面向对象的理解 黑马程序员

既然是面向对象,那最重要的概念无非是对象.我们面对的一切事物其实都是对象.对象有它的固有属性和固有方法,其实对象也就是由一个属性集合和一个方法集合组成的.这可以结合 Java 理解,在 Java 中对象是类的实例,而每个类都定义了一系列的属性和方法. 然后说到类,这也是一个重要的概念.类,很简单,是一类对象的集合,它不是一个具体的集合,而是一种抽象描述,而描述方式就是此类对象的共有属性和方法.换句话说就是共性,很简单. 面向对象是当今主流的一种程序设计理念和设计规范,它取代了早期的"结构化&qu

java 多线程的理解 黑马程序员

public class MultiThread { public static void main(String args[]) { System.out.println("我是主线程!"); //下面创建线程实例thread1 ThreadUseExtends thread1=new ThreadUseExtends(); //创建thread2时以实现了Runnable接口的THhreadUseRunnable类实例为参数 Thread thread2=new Thread(ne

对于加载器的理解 黑马程序员

public class Example implements IExample { private int counter; public String message() { return "Version 1"; } public int plusPlus() { return counter++; } public int counter() { return counter; } } 我们使用无限循环并打印出Example类信息的的main()方法.我们同样需要Example

黑马程序员—多线程

进程:一个正在执行的程序. 线程:就是进程中一个独立的控制单元,线程在控制进程的执行,一个进程中至少有 一个线程. 主线程:JVM启动的时候会有一个进程java.exe,该进程中至少有一个负责java程序的执行 而且这个线程运行的代码存在于main方法中,该线程称之位主线程. 创建线程的方式有两种: 方法一: 1.定义类继承Thread2.复写Thread类中的run方法 目的:将自定义代码存储在run方法中,让线程运行3.调用线程的start方法 该方法有两个作用:启动线程,调用run方法(存

黑马程序员-单例模式

单例设计模式 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案.显然单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例. 解决的问题:保证一个类在内存中的对象唯一性. 比如:多程序读取一个配置文件时,建议配置文件封装成对象.会方便

黑马程序员___多线程小结

----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 进程和线程 进程是正在进行中的程序,指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程. Java程序的进程里有几个线程:主线程, 垃圾回收线程(后台线程) 线程是指进程中的一个执行任务(控制单元),一个进程中可以运行多个线程,多个线程可共享数据.多线程:在同一个进程中同时运行的多个任务;一个进程至少有一个线程,为了提高效率,可以在一个进程中

黑马程序员_交通灯管理系统

(1)项目的需求 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 例如: 由南向而来去往北向的车辆 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 平时开车过十字路口红绿灯的时候,也知道红绿灯运行的顺序 (1)任何方向的车,向右边转弯的时候,是不需要看红绿灯 (2)在十字路口,相对方向的红绿灯的工作方式是一样的,南相对与北,东相对与西,这把它分成两对 (3)红绿灯顺序,一对直行通道绿灯直行车辆,等直行变红,还是这对的车辆可以左转,等左转变红,就轮到下一对了.所以在设计程序的时候,只

黑马程序员——java高新---注解、泛型等

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.注解 什么是注解? 答:对于过时的语句,java会提示过时了,通过@SuppressWarnings("Deprecation")可以在DOS命令行中取消提示,但Eclipse无法取消.这就是注解,相当于标记.编译器.开发工具.javac通过反射获得注解里的内容,进而明确应该做什么.不应该做什么.注解可以加在包.类.属性.方法.参数及局部变量之上.一个注解就是一个类. java.

黑马程序员---Java多线程

---------------------- Android开发.java培训.期待与您交流! ---------------------- 线程与进程是程序运行中体现的两个名词,它包含这不同的程序域.进程指的是一个正在运行的程序,如:360,QQ运行时就是不同的两个进程.当你打开windows任务管理器时,看到的每个进程就是此时windows中正在运行的程序.线程则就是进程中的一个个独立的控制单元,线程控制着进程的执行,也就是说每个正在运行的程序中就包括着很多的线程. 主线程:Java虚拟机运