JAVA基础笔记(3)

进程:是一个正在执行中的程序

每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。

线程:就是进程中的一个独立的控制单元  线程在控制着进程的执行

一个进程至少又一个线程

java 虚拟机VM  启动的时候会有一个进程java.exe  该进程中至少有一个线程负责java程序的执行

而且这个线程运行的代码存在于main方法中 该线程成为主线程

扩展:其实更细节说jvm  ,jvm启动不止一个线程,还有负责垃圾回收机制的线程

创建线程的第一种方法:继承Thread类

步骤:1.定义类继承Thread

2.复写Thread类中的run方法: 目的将自定义代码存储在run方法。让线程运行

3.调用线程的start  :该方法的两个作用:启动线程,调用run方法

创建线程的第二种方法:实现Runable接口

步骤:1.定义类实现Runable接口

2.覆盖Runable接口中的run方法 ,将线程要运行的代码存放在该run方法中

3.通过Thread类建立线程对象

4.将Runable接口的子类对象作为实际参数传递给Thread类的构造函数

为什么要将Runable接口的子类对象传递给Thread的构造函数。

因为,自定义的run方法所属的对象是Runable接口的子类对象,所以要让线程去指定指定的run方法。

就必须明确该run方法的所属对象

5.调用Thread类的start方法开启线程并调用Runable接口子类的run方法

实现方式和继承方式有什么区别?

实现方式好处:避免了单继承的局限性

在定义线程时,建立使用实现方式

两种方式区别:

继承Thread:线程代码存放Thread子类run方法中

实现Runable:线程代码存放在接口子类的run方法中

notify();唤醒第一个进入等待的

jdk1.5中提供了 多线程升级的解决方案

将同步synchronized替换成现实的Lock操作

将Object中的wait , notify notifyAll 替换成 Condition对象  await single signalAll()

该对象可以Lock锁 进行获取

如何停止线程?

stop方法已经过时

只有一种方法 ,run方法结束

开启多线程运行,运行代码通常是循环结构

只要控制住循环,就可以让run方法结束 ,也就是线程结束

特殊情况 当线程处于了冻结状态,就不会读取到标志,那么线程就不会停止

jion:

当A线程执行到了B线程的。jion()方法时,A就会等待。等B线程都执行完了,A才会执行。

jion可以用来临时加入线程执行。

线程优先级

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,736评论 0 11
  • 写在前面的话: 这篇博客是我从这里“转载”的,为什么转载两个字加“”呢?因为这绝不是简单的复制粘贴,我花了五六个小...
    SmartSean阅读 4,828评论 12 45
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 2,527评论 1 15
  • 该文章转自:http://blog.csdn.net/evankaka/article/details/44153...
    加来依蓝阅读 7,400评论 3 87