------- 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
- {
- }
-
- class ThreadDemo
- {
- main函数定义
- {
- Demo d = new Demo();//创建好一个线程对象。
- d.start();//线程启动,start会调用run方法。线程d与主线程交替执行了。如果是d.run,仅仅是对象调用方法,执行完run方法以后才继续执行,而线程虽然创建了却没有执行。
- //代码
- }
- }
-
1
2
3
4
5
6
7
8
9
10
11
12
|
class 类名 extends Thread{
方法 1 ;
方法 2 ;
…
public void run(){
}
属性 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.卖票程序(暂缺)
分享到:
相关推荐
NULL 博文链接:https://huangminwen.iteye.com/blog/1157983
day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流 day10_缓冲流、转换流、序列化流、Files day11_网络编程 day12_函数式接口 day13_Stream...
1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、 JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了 Java 程序运 行时所需要的基本条件和许多 Java ...
B站狂神说Java的多线程基础篇+juc高级篇代码
最近收集的VB.Net-C#多线程Thread-代理委托delegate编程。文章列表: c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问....
4.客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值(提示:办理业务的过程可通过线程Sleep的方式模拟)。各类型客户在其...
多线程实例源码11.rar多线程实例源码11.rar多线程实例源码11.rar多线程实例源码11.rar多线程实例源码11.rar
【完整课程列表】 ...5-java_thread(1)线程(共18页).ppt 5-java_thread(2)线程(共29页).ppt 7-java_net(1)网络编程(共13页).ppt 7-java_net(2)网络编程(共25页).ppt 8-IO&线程总结(共7页).ppt
【完整课程列表】 ...5-java_thread(1)线程(共18页).ppt 5-java_thread(2)线程(共29页).ppt 7-java_net(1)网络编程(共13页).ppt 7-java_net(2)网络编程(共25页).ppt 8-IO&线程总结(共7页).ppt
基于java的开发源码-多线程程序死锁检查 JCarder.zip 基于java的开发源码-多线程程序死锁检查 JCarder.zip 基于java的开发源码-多线程程序死锁检查 JCarder.zip 基于java的开发源码-多线程程序死锁检查 JCarder.zip ...
3. 高频面试题-多线程-8519255158581495.md
介绍了一个可以在JavaScript中应用多线程的库:Concurrent.Thread,内有多线程库脚本,以及使用说明和实例,如果查看详情,可以查看我的博客https://blog.csdn.net/hsl_1990_08_15/article/details/84765772
【完整课程列表】 ...5-java_thread(1)线程(共18页).ppt 5-java_thread(2)线程(共29页).ppt 7-java_net(1)网络编程(共13页).ppt 7-java_net(2)网络编程(共25页).ppt 8-IO&线程总结(共7页).ppt
日本人写的js多线程库Concurrent.Thread-full-20080319.zip 日本人写的js多线程库Concurrent.Thread-full-20080319.zip 日本人写的js多线程库Concurrent.Thread-full-20080319.zip
javaweb毕业设计-Java多线程与线程安全实践-基于Http协议的断点续传(可做课程设计).rarjavaweb毕业设计-Java多线程与线程安全实践-基于Http协议的断点续传(可做课程设计).rarjavaweb毕业设计-Java多线程与线程安全...
在学习Java过程中,自己收集了很多的Java的学习资料,分享给大家,有需要的欢迎下载,希望对大家有用,一起学习,一起进步。
07-Redis队列Stream、Redis多线程详解_ev.07-Redis队列Stream、Redis多线程详解_ev.07-Redis队列Stream、Redis多线程详解_ev.07-Redis队列Stream、Redis多线程详解_ev.07-Redis队列Stream、Redis多线程详解_ev.07-...
2-5多线程.pdf 2-6网络编程.pdf 3-1ARM程序设计.pdf 3-2ARM综合实验.pdf 下面的为第二部分课件。 4-1内核开发1.pdf 4-2内核开发2.pdf 4-3内核开发3.pdf 4-4系统构建.pdf 4-5UBOOT.pdf 5-1设备驱动-1.pdf 5-2设备驱动...
【完整课程列表】 ...5-java_thread(1)线程(共18页).ppt 5-java_thread(2)线程(共29页).ppt 7-java_net(1)网络编程(共13页).ppt 7-java_net(2)网络编程(共25页).ppt 8-IO&线程总结(共7页).ppt
【完整课程列表】 ...5-java_thread(1)线程(共18页).ppt 5-java_thread(2)线程(共29页).ppt 7-java_net(1)网络编程(共13页).ppt 7-java_net(2)网络编程(共25页).ppt 8-IO&线程总结(共7页).ppt