1.分支线程执行 过程:

2.线程运行的状态:五大状态

线程: 从新建状态  就绪状态   运行状态  挂起(阻塞)状态 死亡状态(结束,销毁)

3. 多线程:在同一个时间执行多个任务的操作,现在的软件都实现了多线程处理。

4. 进程:计算机中开启的程序,每个进程至少有一个线程在执行。

5. 多线程存在的意义?

可以同时执行多个任务,但多线程执行的时候效率要低于 单线程。

6.多线程 创建方式?

第一种:

继承 Thread 类,重写run方法,创建子类对象。

创建线程 (new Thread / new 子类对象),开启线程(  对象.start()  )

第二种:

实现接口Runnable;(我们以后使用线程一律使用接口Runnable)

Java是单继承,使用了继承后无法继承其他父类,于是 使用了接口,增强了扩展性;

7.多线程的特性?

原子性:

多个线程同时执行,或者都不去执行。

可见性:

线程执行的时候操作的数据,对于其他线程可见。

前一个线程改变后的数据,后一个线程取到的是改变后的数据。

有序性(执行顺序)

线程的执行顺序就是代码的书写顺序。

结果无序

线程的执行结果是没有顺序的(线程虽然获得了,执行权,但是不一定能够执行);

8.线程的休息sleep()方法?

作用:释放cpu的执行权,让其他线程有机会执行。如果不释放执行权,当前线程会将数据全部执行。

9.运行完整状态:

下面实现了一个简单的多线程之间的小例子

http://www.cnblogs.com/nn369/p/8043303.html

java 多线程执行过程的更多相关文章

  1. Java程序执行过程及内存机制

    本讲将介绍Java代码是如何一步步运行起来的,其中涉及的编译器,类加载器,字节码校验器,解释器和JIT编译器在整个过程中是发挥着怎样的作用.此外还会介绍Java程序所占用的内存是被如何管理的:堆.栈和 ...

  2. Java代码执行过程概述

    Java代码经历三个阶段:源代码阶段(Source) -> 类加载阶段(ClassLoader) -> 运行时阶段(Runtime) 首先我们来理清一下Java代码整个执行过程, 让我们对 ...

  3. Java编译执行过程

    在刷软件设计师中级考试的题目,判断关于编译系统对某高级语言进行翻译的叙述的对错.记得刚开始学Java的时候自己就觉得自己对程序的执行过程理解的相当的透彻,但是一对答案,我的小心脏就有点受不了了,特此在 ...

  4. 【JAVA】【基础知识】Java程序执行过程

    1. Java程序制作过程 使用文本编辑器进行编辑 2. 编译源文件,生成class文件(字节码文件) javac源文件路径. 3.运行程序class文件.

  5. Java程序执行过程

    首先,写好Java代码,保存到硬盘中.然后在命令行中输入: javac ClassName.java 此时,这个Java类文件将编译成字节码(.class)文件.如果用Eclipse等IDE开发工具, ...

  6. java多线程执行问题

    class Demo extends Thread{ public Demo(String name){ super(name); } public void run(){ for(int i=0; ...

  7. java 多线程执行时长统计

    ExecutorService——shutdown方法和awaitTermination方法 shutdown方法:平滑的关闭ExecutorService,当此方法被调用时,ExecutorServ ...

  8. Java 多线程执行

    背景: 如果一个任务由多个子任务组成,子任务全部执行完成后然后由主线程对所有子任务结果进行封装,可以采用如下几种方式: 1.基于Guava ListenableFuture 进行: 2.基于Futur ...

  9. java多线程执行时主线程的等待

    1.通过thread.join()方式,注意:如果有多个子线程,需要将全部的线程先start,然后再join.代码示例如下: public class Main {     public static ...

随机推荐

  1. iOS 逆向工程

    HOOK(钩子函数)在OCD动态化语言中使用swizzle method (交换方法来实现) 实际上静态C语言中的函数也是有办法hook的,这也说明绝对的静态语言是不存在的 Mach-O:对于每个操作 ...

  2. Flink学习笔记:Operators串烧

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  3. java面向对象概念1

    一.java面向对象学习的三条主线: 1.java类及类的成员:属性.方法.构造器:代码块.内部类 2.面向对象的三大特征:封装性.继承性.多态性.(抽象性) 3.其它关键字:this.super.s ...

  4. Angular material mat-icon 资源参考_Communication

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  5. FlutterToast 使用

    参看 FlutterToast 开源库 https://github.com/PonnamKarthik/FlutterToast

  6. 人机交互print

    python两种输出类型: 1· 表达式语句,python理解的 #  repr() 2· print() 结果是给用户看的      # str()  >>> "Hell ...

  7. Partition Array by Odd and Even

    Partition an integers array into odd number first and even number second. Example Given [, , , ], , ...

  8. 页面多个 swiper 互补冲突

    方法一:精简版 $(".swiper-container").each(function(){ $(this).swiper({ loop: true, initialSlide ...

  9. 【云计算】pig基础、运行、编写

    会用和用得好是两个概念. 一.pig基础概念 二.pig运行方式 Pig 有两种运行模式: Local 模式和 MapReduce 模式. 本地模式:$pig-x local test.pig Map ...

  10. Google Map API抓取地图坐标信息小程序

    因为实验室需要全国城市乡镇的地理坐标,有Execl的地名信息,需要一一查找地方的经纬度.Google Map地图实验室提供自带的查找经纬度的方法,不过需要一个点一个点的手输入,过于繁琐,所以自己利用G ...