1.多线程概念
程序:计算机指令的集合,是一段静态的代码,还有指令和数据的文件。
进程:进程是程序一次动态执行的所有过程,进程包括运行中的程序和程序所使用到的内存和系统资源。
线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器,但内存单元是共享的,即不同的线程可以执行同样的函数。
并发编程:指由若干个可同时执行的程序模块组成程序的程序设计方法。这种可同时执行的程序模块就是进程。
2.为什么使用多线程
在java多线程模型中,多个线程共存于同一块内存中,且共享资源,线程之间的通信非常容易。
java程序可以并行处理,很大提高了程序的效率以及功能。
3.java线程的模型
抢占式调度模型
线程调度程序挑选线程时,将选择处于就绪状态且优先级最高的线程。
如果多个线程具有相同的优先级,它们将被轮流调度。
4.java线程优先级
优先级是从0到10的整数,并且它仅表示线程之间的相对关系;
当多个线程并行执行时,具有较高优先级的线程将获得较多的CPU时间片;
Thread类包含的常量有:
1. public static final int MAX_PRIORITY: 最大优先级,值是10。
2. public static final int MIN_PRIORITY: 最小优先级,值是1。
3. public static final int NORM_PRIORITY:缺省优先级,值是5。
5.主线程
java中建立了一个类,当运行到该类的时候,java虚拟机自动创建一个一个线程调用main函数,这就是它的主线程。
6.建立线程
当一个Thread类或其子类的对象被声明冰箱被创建时。此时它已经有了相应的内存空间和其他资源,但是并没有开始执行它内部的代码。
void run():用该方法来执行线程。
void start():开始执行run部分的代码。
static void sleep(long millis)throws InterruptedException:将可运行对象置为休眠状态,休眠时间为指定的毫秒。
7.如何知道线程是否已经结束
可以调用isAlive()这个方法来判断:isAlive方法可以返回线程的状态,若true则线程处在可运行或不可运行状态; 若false则线程处在新创建或死亡状态。
还有join()方法,它会等待线程结束。相当于下面的语句:
while(thread.isAlive()) {
try {
thread.sleep(10);
} catch (InterruptedException e) {
}
}
8.动画实现
创建多个Thread类或其子类的对象,循环开始start(),然后在run()函数中实现。
分享到:
相关推荐
Java线程是Java编程中的重要概念,特别是在处理并发和多任务执行时不可或缺。在Java中,线程允许程序同时执行多个不同的任务,提高了程序的效率和响应性。对于初学者来说,理解线程的基本概念、创建方式以及如何管理...
本文将深入探讨Java线程的初级知识,包括线程的创建、状态管理、同步机制以及一些常用的线程API。 首先,了解线程的基本概念。在Java中,线程是由`Thread`类表示的。我们可以直接继承`Thread`类或者实现`Runnable`...
在Java编程领域,多线程是一项至关重要的技术,它能够充分利用多核处理器的计算能力,提高应用程序的响应速度和并发性能。《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为...
"Java初级课件总结"显然是一份针对初学者的教育资源,旨在帮助他们掌握Java编程的基础概念和技能。以下是对这份课件中可能涵盖的重要知识点的详细说明: 1. **Java简介**:讲解Java的历史,由Sun Microsystems(现...
本教程涵盖了从初级到中级再到高级的全面Java学习路径,旨在帮助开发者逐步掌握这一强大语言的核心概念和技术。 首先,对于初级Java学习者,我们需要从基础语法开始。Java是一种面向对象的语言,它的基础包括数据...
1. **Java历史与环境配置**:了解Java的起源,由Sun Microsystems(现为Oracle Corporation)开发,以及如何安装Java Development Kit (JDK) 和设置Java环境变量,包括JAVA_HOME、PATH和CLASSPATH。 2. **Java编程...
1. **Java语法**:Java是一种强类型、面向对象的语言,其语法严格且简洁。学习Java时,首先要掌握基本的语句结构,如声明变量、赋值、输出语句(System.out.println())等。 2. **数据类型**:Java有两大类数据类型...
Java语言是当前最流行的编程语言之一,对于初级程序员来说,掌握Java基础知识是非常重要的。本笔记涵盖了Java基础知识的方方面面,包括Java基础知识、面试常考问题、项目开发初期常见的问题等,旨在帮助初级程序员更...
1. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(如算术、比较、逻辑和位运算符)以及控制流程(如if条件语句、for和while循环、switch语句)。初学者可以通过...
这份“Java初级程序员面试必备的基础知识总结”涵盖了多个重要的Java概念,包括语法、面向对象编程、异常处理、集合框架、多线程等核心领域。以下是对这些关键知识点的详细解释: 1. **Java语法基础**: - **数据...
1. **Java基础**:从安装Java开发环境JDK开始,介绍Java语言的基本语法,包括变量、数据类型、运算符、流程控制语句(如if、switch、for、while)、数组等。此外,还会涉及面向对象的基础概念,如类、对象、封装、...
本教程将从初级到高级,深入讲解Java线程的使用和原理。 一、线程基础 Java中的线程可以通过继承Thread类或实现Runnable接口来创建。Thread类代表一个线程,而Runnable接口则定义了线程运行时需要执行的任务。如果...
2. **线程状态**:Java线程有五种状态,包括新建、就绪、运行、阻塞和终止。理解这些状态有助于优化线程的使用。 3. **线程同步**:为了防止多个线程同时访问共享资源,Java提供了多种同步机制,如`synchronized`...
Java作为一门广泛使用的编程语言,其初级面试题涵盖了基础语法、面向对象特性、集合框架、异常处理、IO流、多线程、网络编程等多个方面。以下是对这些知识点的详细阐述: 1. **基础语法**:Java的基础语法包括变量...
JAVA初级知识点大总结 本资源摘要对JAVA的初级知识点进行了总结,涵盖了JAVA的基本概念、语言特点、开发环境、程序设计结构等多方面的内容。 一、JAVA的基本概念 JAVA是一种革命性的程序设计语言,可以用来编写...
1. **线程状态及其转换**: - **新建态**:当通过`new Thread()`创建一个新的线程对象时,线程处于新建状态。 - **就绪态**:调用`start()`方法后,线程进入可执行队列,等待CPU分配执行时间。 - **运行态**:当...
【JAVA初级飞机大战源码】是一个适合初学者实践的项目,它基于JAVA编程语言,旨在帮助刚刚接触Java基础和面向对象编程的学员巩固所学知识。这个项目通过模拟经典游戏"飞机大战",让学习者在实践中理解并应用Java语言...
1. **对象和类**:Java是面向对象的语言,所以案例可能包含创建和使用类的示例,如封装、继承和多态性等面向对象特性。 2. **数据结构**:基础案例可能包括数组的使用,可能还会有链表、栈和队列等更高级的数据结构...