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

java线程初级总结一

 
阅读更多

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()函数中实现。

0
2
分享到:
评论

相关推荐

    java线程初级学习

    Java线程是Java编程中的重要概念,特别是在处理并发和多任务执行时不可或缺。在Java中,线程允许程序同时执行多个不同的任务,提高了程序的效率和响应性。对于初学者来说,理解线程的基本概念、创建方式以及如何管理...

    java线程方面的初级学习程序

    本文将深入探讨Java线程的初级知识,包括线程的创建、状态管理、同步机制以及一些常用的线程API。 首先,了解线程的基本概念。在Java中,线程是由`Thread`类表示的。我们可以直接继承`Thread`类或者实现`Runnable`...

    java 多线程编程实战指南(核心 + 设计模式 完整版)

    在Java编程领域,多线程是一项至关重要的技术,它能够充分利用多核处理器的计算能力,提高应用程序的响应速度和并发性能。《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为...

    java初级课件总结

    "Java初级课件总结"显然是一份针对初学者的教育资源,旨在帮助他们掌握Java编程的基础概念和技能。以下是对这份课件中可能涵盖的重要知识点的详细说明: 1. **Java简介**:讲解Java的历史,由Sun Microsystems(现...

    java高级 初级 中级 教程

    本教程涵盖了从初级到中级再到高级的全面Java学习路径,旨在帮助开发者逐步掌握这一强大语言的核心概念和技术。 首先,对于初级Java学习者,我们需要从基础语法开始。Java是一种面向对象的语言,它的基础包括数据...

    JAVA初级基础PPT

    1. **Java历史与环境配置**:了解Java的起源,由Sun Microsystems(现为Oracle Corporation)开发,以及如何安装Java Development Kit (JDK) 和设置Java环境变量,包括JAVA_HOME、PATH和CLASSPATH。 2. **Java编程...

    java初级程序员试题

    1. **Java语法**:Java是一种强类型、面向对象的语言,其语法严格且简洁。学习Java时,首先要掌握基本的语句结构,如声明变量、赋值、输出语句(System.out.println())等。 2. **数据类型**:Java有两大类数据类型...

    java初级程序员知识笔记

    Java语言是当前最流行的编程语言之一,对于初级程序员来说,掌握Java基础知识是非常重要的。本笔记涵盖了Java基础知识的方方面面,包括Java基础知识、面试常考问题、项目开发初期常见的问题等,旨在帮助初级程序员更...

    Java初级案例源码

    1. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(如算术、比较、逻辑和位运算符)以及控制流程(如if条件语句、for和while循环、switch语句)。初学者可以通过...

    Java初级程序员面试必备的基础知识总结.zip|Java初级程序员面试必备的基础知识总结.zip

    这份“Java初级程序员面试必备的基础知识总结”涵盖了多个重要的Java概念,包括语法、面向对象编程、异常处理、集合框架、多线程等核心领域。以下是对这些关键知识点的详细解释: 1. **Java语法基础**: - **数据...

    java私塾教材大全(初级中级高级)

    1. **Java基础**:从安装Java开发环境JDK开始,介绍Java语言的基本语法,包括变量、数据类型、运算符、流程控制语句(如if、switch、for、while)、数组等。此外,还会涉及面向对象的基础概念,如类、对象、封装、...

    java线程代码

    本教程将从初级到高级,深入讲解Java线程的使用和原理。 一、线程基础 Java中的线程可以通过继承Thread类或实现Runnable接口来创建。Thread类代表一个线程,而Runnable接口则定义了线程运行时需要执行的任务。如果...

    Java多线程编程实战指南+设计模式篇

    2. **线程状态**:Java线程有五种状态,包括新建、就绪、运行、阻塞和终止。理解这些状态有助于优化线程的使用。 3. **线程同步**:为了防止多个线程同时访问共享资源,Java提供了多种同步机制,如`synchronized`...

    JAVA初级面试题整理

    Java作为一门广泛使用的编程语言,其初级面试题涵盖了基础语法、面向对象特性、集合框架、异常处理、IO流、多线程、网络编程等多个方面。以下是对这些知识点的详细阐述: 1. **基础语法**:Java的基础语法包括变量...

    JAVA初级知识点大总结.doc

    JAVA初级知识点大总结 本资源摘要对JAVA的初级知识点进行了总结,涵盖了JAVA的基本概念、语言特点、开发环境、程序设计结构等多方面的内容。 一、JAVA的基本概念 JAVA是一种革命性的程序设计语言,可以用来编写...

    Java初级程序员必备的图

    1. **线程状态及其转换**: - **新建态**:当通过`new Thread()`创建一个新的线程对象时,线程处于新建状态。 - **就绪态**:调用`start()`方法后,线程进入可执行队列,等待CPU分配执行时间。 - **运行态**:当...

    JAVA初级飞机大战源码

    【JAVA初级飞机大战源码】是一个适合初学者实践的项目,它基于JAVA编程语言,旨在帮助刚刚接触Java基础和面向对象编程的学员巩固所学知识。这个项目通过模拟经典游戏"飞机大战",让学习者在实践中理解并应用Java语言...

    Java初级案例源码.rar

    1. **对象和类**:Java是面向对象的语言,所以案例可能包含创建和使用类的示例,如封装、继承和多态性等面向对象特性。 2. **数据结构**:基础案例可能包括数组的使用,可能还会有链表、栈和队列等更高级的数据结构...

Global site tag (gtag.js) - Google Analytics