31.黑马程序员-多线程(继承Thread)
来源:互联网 发布:淘宝店买卖平台 编辑:程序博客网 时间:2024/05/20 01:08
------- android培训、java培训、期待与您交流! ----------
一.概念- 1.进程:
- 正在进行中的程序。
- 程序中的控制单元、执行路径(每一个进程从头执行到尾就是一个执行路径)。
- 2.线程
- 线程的特点:
- 进程中的一个独立的控制单元
- 线程空着着进程的执行。
- 线程是进程中的内容,每一个应用程序至少包含一个线程--主线程。
- jvm的多线程
- 至少有一个主线程,一个垃圾回收线程。
- 常见的多线程程序,如迅雷下载。
- 线程的特点:
- 3.为什么使用多线程
- 多个线程“同时”执行,提高效率。
二.定义
- 进程、线程是windows创建的,只需要调用系统中的内容就可以创建,JVM提供了这种功能的对象。
- 创建线程的两种形式:
- 方法一步骤:
- 1继承Thread类。
- 2复写Thread类中的run方法。
- 3调用线程的start方法,该方法有两个作用:启动线程。调用run方法。
- 4主线程new一个对象的时候是创建了一个线程对象,需要调用start方法来执行,start方法调用run方法。
- 问题:为什么要覆盖run方法?
- 因为Thread类用于描述线程,这个类只定义了一个功能run,用于存储线程要运行的代码,run的存在是因为java提供给子类实现自己代码的,类似于main。
- 例如
- class Demo extends Thread
- {
- public void run()
- {
- //代码
- }
- }
- class ThreadDemo
- {
- main函数定义
- {
- Demo d = new Demo();//创建好一个线程对象。
- d.start();//线程启动,start会调用run方法。线程d与主线程交替执行了。如果是d.run,仅仅是对象调用方法,执行完run方法以后才继续执行,而线程虽然创建了却没有执行。
- //代码
- }
- }
- 123456789101112
class
类名
extends
Thread{
方法
1
;
方法
2
;
…
public
void
run(){
// other code…
}
属性
1
;
属性
2
;
…
}
- 方法一步骤:
三.线程的使用
- 1.获取线程对象以及名称
- 线程都有自己默认的名称:Thread-编号,编号从0开始类推。
- 线程初始化的时候就要有名称:Thread(String name),但是这里需要用父类的构造方法,因为父类描述完了一个私有的name,并通过set、get方法对它进行访问,我们只要拿来用就行了,所以在线程子类中这样写:super(name);调用Thread的构造函数来自定义名称。
- 实现方法:子类构造对象时,子类的参数name传给父类构造函数
- 2.currentThread
- 定义: static Thread currentThread() //返回对当前正在执行的线程对象的引用。
- 作用:
- 静态的用类名就可以使用,直接使用Thread线程类调用这个方法返回的是正在执行的线程对象的引用,再调用getName() 方法 :获取线程名称等。并且Thread.currentThread()==this。
- 既然 Thread.currentThread()==this是等价的,那么为什么使用它?因为 Thread.currentThread()获得的线程引用更加严谨、标准、通用,this就没有那么严谨。
- 3.卖票程序(暂缺)
- 31.黑马程序员-多线程(继承Thread)
- 黑马程序员 java基础 继承thread多线程学习日志
- 黑马程序员----多线程1(继承Thread类、实现Runnable接口)
- 黑马程序员__Java多线程Thread
- 黑马程序员_笔记_多线程(创建线程-继承Thread类)
- 黑马程序员--Java多线程的两种实现方式:继承Thread类 & 实现Runable接口
- 【黑马程序员】java中-------------多线程Thread类
- 黑马程序员-------------多线程基础概述(Thread -- Runable)
- 黑马程序员-关于线程继承Thread和Runnable的对比
- 多线程继承Thread类
- 黑马程序员——基础学习(十四)多线程(Thread)和图形界面编程(GUI)
- 黑马程序员——多线程之Runnable与Thread
- 黑马程序员--继承(重要)
- 黑马程序员-继承(extends)
- 黑马程序员---继承(上)
- 黑马程序员---继承(下)
- 黑马程序员——Java继承——多线程(二)
- 黑马程序员 多线程(二)
- Android TextView 添加链接
- 【Cocos2d-x】新手自学(十)分辨率自适应!一句话搞定IOS android windows!!
- ubuntu下编译vlc-android(0.0.5版本)
- zoj 1392.The Hardest Problem Ever
- levenshtein_distance(字符串相似度算法)
- 31.黑马程序员-多线程(继承Thread)
- 项目管理者对管理的总结
- C语言如何获得精确到毫秒的时间
- 强制转换带来的疑惑
- const 和 define
- 32.黑马程序员-多线程(实现Runnable接口)
- 研究分析QQ木马的原理
- SIFT读书笔记
- linux rm指令