`
不打伞的蘑菇
  • 浏览: 15602 次
社区版块
存档分类
最新评论

JAVA的多线程入门知识小结

 
阅读更多

Java高级部分的多线程的部分小结:

        本人菜鸟,这是老师强行布置的课后作业,伤不起~~~~(>_<)~~~~哭哭哭

        个人小结,仅供自己复习,欢迎大家踊跃讨论,如有纰漏,还请大神们多多指教吐舌头

 

       一、程序、进程、线程之间相互概念:首先,程序是一个在硬盘中可以执行的代码集合。程序正在进行的部分就是进程,是程序某些个功能的的运行计算的集合。而线程是基于进程开辟的更小的能独立运行的单位。(此处有线程同步和异步的概念)。一个程序至少有一个进程,一个进程至少有一个线程。这里主要讲多线程。

 

       二、线程的创建和启动:分别有三个方法。

1.直接继承一个thread类。

2.实现一个接口类Runable类。(多用这个方法)因为一个类只能继承一个父类,但可以实现多个接口。

3.继承一个TimerTask。可以控制在多少时间后执行这个线程。

 

        三:同步和异步的概念:

线程的同步是指:线程需要执行多件事物,但一次只能做一件事。对于一个对象使用线程同步的概念时,是指一个线程在操作这个对象的时候,其他线程不能能对它进行操作。

线程的异步是指:多个线程同时进行,可以对同一个对象同时进行操作。所以说,线程同步是安全的,线程异步是不安全的。所以在某些地方需要让线程同步。

       实现线程的同步的两种方法:

        1.在需要同步的语句块或方法外面添加一个关键字:synchronized。(用完后会自动的释放锁定的对象)

        2.定义一个接口类:Lock。需要的步骤有:创建锁;上锁;需要被锁定的语句块;解锁。

 

         四、线程的状态
        新建(new Thread):当线程对象被创建的时候
        就绪(Runnable):当调用完线程的start()方法之后.等待系统的调用执行
        运行(Running):线程正在执行它的run()方法。
        阻塞(中断)(Not Runnable):当线程sleep()或者wait()的
        死亡(Dead)):线程run()方法执行完毕。

 

       五、.线程的通信:

线程的通信就是实现多个线程之间的资源共享和交换数据。一般是采取Object的wait( )和notify( )来完成。

但是这两个在使用的时候仅在Synchronized的方法中才能被调用。wait()让线程等待,进入阻塞状态,而notify()则是激活某个等待线程,其实就是撤销该线程的阻塞状态,从而使他们有机会再次运行。

 

        六、线程中暂停和死亡的方法不能够使用,所以在控制线程的暂停、继续和死亡的时候一般是定义两个Boolean类型的变量来控制线程的休眠或死亡状态。示例代码如下:

                                boolean isPause = false;// 是否暂停
                                boolean isStop = false;// 是否停止

                                 public void run() {
                                             while (!isStop) {

                                                              if (!isPause) {
                                                                            //需要在线程中执行的代码
                                                                                    //...
                                                                             }
                                                               try {
                                                                     Thread.sleep(10);
                                                               } catch (Exception e) {
                                                                       e.printStackTrace();
                                                                }
                                                    }
                                         }

 

            七、线程的优先级

            线程的优先级的作用是,告诉线程调度机制这个线程的重要程度的高低。

            线程的最大优先级是10,最小优先级是1,线程的默认优先级是5,可以通过setPriority方法来改变线程的优先级。

 

以上为个人学习多线程的一些要点和概念理解。如有差错,跪求指出,大谢~~~大笑

 

 

分享到:
评论

相关推荐

    java多线程入门

    ### Java多线程入门知识点详解 #### 多线程背景知识介绍 在计算机科学领域,多线程技术是一项重要的编程技术,它允许程序同时执行多个任务。这种技术极大地提升了程序的执行效率,尤其是在多核处理器普及的今天。...

    java线程入门级书籍

    ### Java线程入门知识点详解 #### 一、Java线程基础知识概述 **1.1 什么是线程?** 线程是程序执行流的最小单元,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。在Java中...

    多线程入门,分布式锁,等相关资料

    总结来说,本资源包提供的"多线程入门资料"涵盖了多线程的基本概念、实现方式、线程同步与通信、并发问题及其解决方案,以及分布式锁的原理与实现,是学习Java多线程和分布式系统的好助手。通过深入学习和实践,...

    java多线程服务器源码

    【Java多线程服务器源码】是针对初学者和入门者的一个经典实例,它展示了如何在Java中构建一个多线程的服务器程序。Java语言因为其内置的多线程支持和强大的网络编程能力,使得开发这样的程序变得更加简单和安全。 ...

    Java多线程与高并发入门到精通-视频教程网盘链接提取码下载.txt

    ### Java多线程与高并发入门到精通 #### 一、多线程概念与原理 在计算机科学领域,多线程是指程序中的多个线程同时执行的能力。在Java语言中,多线程是通过`Thread`类和`Runnable`接口实现的。线程是进程内的一个...

    多线程的入门 实例源码

    本文将深入探讨多线程的入门知识,并结合实例源码进行详细解析。 首先,理解什么是线程。线程是操作系统分配CPU时间的基本单位,一个进程可以包含多个线程,它们共享同一内存空间,但各自拥有独立的执行上下文,如...

    java从入门到精通PPT

    Java编程语言是软件开发领域中最...通过这个压缩包,你可以按照章节逐步学习,每个PPT都是一个知识点的总结,方便查询和复习。不论你是初学者还是有一定经验的开发者,这个资源都能为你的Java学习之路提供有力的支持。

    java 基础知识总结(经典)

    这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...

    个人总结的深入java多线程开发

    看完《think in java》多线程章节,自己写的多线程文档,还结合了其他的相关网络资料。 线程 一. 线程池 1)为什么要使用线程池 2 2)一个具有线程池的工作队列 3 3)使用线程池的风险: 4 4)有效使用线程池的原则 5...

    CoreJava(java入门教程总结)

    ### CoreJava(java入门教程总结) 本教程旨在为Java初学者提供一份全面且深入的基础学习资料。作为一门广泛应用于各类软件开发的语言,Java以其强大的功能、跨平台的能力以及丰富的类库支持,成为许多开发者首选的...

    java 入门入门入门入门入门入门入门入门

    总结来说,Java编程入门涉及广泛的知识点,从基本的语法到面向对象编程,再到更高级的特性如集合框架、I/O和多线程。随着学习的深入,开发者可以掌握更复杂的应用,如数据库交互和GUI开发。通过实践和不断的学习,...

    Java从入门到精通.pdf

    十四万字总结,PDF包含了十四个大模块:Java基础知识,数据结构,算法,Java集合框架,Java8新特性,操作系统,网络原理,Java多线程及并发编程,Java的IO模型及网络编程,JVM,Mysql,JavaWeb和一个仿Tomcat实现的...

    java基础知识学习入门

    Java编程语言是软件开发...总结,Java基础知识的学习涵盖了许多方面,从基本语法到面向对象编程,再到集合框架、异常处理、I/O流和多线程。通过理论学习与实践操作相结合,相信你一定能成功入门并逐步精通Java编程。

    java多线程_设计模式_各种技术(我的书架)

    在这个“java多线程_设计模式_各种技术”主题中,我们可以深入探讨这两个核心知识点。 首先,让我们来谈谈Java多线程。在现代计算机系统中,多线程是一种允许应用程序同时执行多个任务的技术。这使得程序能够并行...

    Java高级特性入门二.pdf

    总结以上内容,Java高级特性入门第二部分对Lambda表达式和多线程技术进行了深入的剖析和实操指导。Lambda表达式让代码更加简洁明了,而多线程技术则是构建并发应用不可或缺的基础。通过掌握这些高级特性,能够提升...

    java游戏编程入门

    ### Java游戏编程入门知识点详解 #### 一、Java在游戏开发中的地位与潜力 随着游戏产业的迅猛发展,各种编程语言和技术不断涌现,其中C和C++因其性能优势而成为主流游戏开发语言。然而,Java作为一种后起之秀,在...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第11章_多线程(共54页).rar

    总结来说,本课件《Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第11章_多线程》将深入探讨Java中的多线程编程,包括线程的创建、管理、同步、通信以及异常处理等方面,帮助初学者掌握这一...

    JAVA入门电子书

    在【描述】中提到的"内容丰富齐全",暗示了书中可能包含以下几个关键知识点: 1. **JAVA基础**:涵盖JAVA的基本数据类型、变量、控制流(如if语句、for循环、while循环)、方法定义与调用等。 2. **面向对象编程**...

Global site tag (gtag.js) - Google Analytics