多线程技能

1.什么是进程?什么是线程?

我们可以把计算机上每一个正在进行的任务看做一个进程,比如说听音乐、做PPT、玩游戏等等。进程是受操作系统管理的基本运行单元。

而什么是线程呢?

线程是进程中独立的子部分,可以共享进程中的资源,而又有自己的小秘密。就如同进程在计算中一样的地位,所以也叫“轻量级的进程”

2.使用多线程

为什么要使用多线程呢?

因为现在的处理器为了提高效率,采取并发处理的方式,并发也就是看起来像是同时发生,但是同一时间处理器上只能执行一个进程,只是CPU的处理速度太快,我们看起来就像是一起发生一样。使用多线程的优势呢,就是可以同一时间内处理多种任务。使用多线程也就是使用异步,它的处理完全靠计算机调度,并不是按照代码的顺序来执行。谁的优先级更高,就更有可能获得CPU资源。

可以通过继承Thread类和实现Runnable接口。使用Runnable接口呢,避免的继承的单一性,当已经有了一个父类的的时候,就可以通过实现Runnable接口来实现多线程。

Thread类继承自Runnable接口,看源码发现Runnalbe接口里面只有一个run()方法,并没有启动多线程所需要的start()方法,所以需要把实现Runnable接口的实例对象作为一个target传给Thread类,由Thread类来启动多线程,而Thread类继承自Runnable,所以也完全可以把Thread子类的实例对象作为target传给Thread类,来创建多个线程,如果不传给Thread,只由Thread子类的实例对象来start()的话,一个target只能创建一个线程。

看一下Thread类的构造函数

3. 常用方法

currentThread()方法返回当前执行线程的信息。

isAlive()方法判断线程是否存活,也就是是否处在执行或者准备执行状态。

sleep()

时间: 2024-10-29 20:09:21

多线程技能的相关文章

java多线程技能

1.进程和线程的定义 进程:受操作系统管理的基本运行单元 线程:进程中独立运行的子任务 2.使用多线程 2.1继承Thread类:自定义线程类并继承Thread类,并且重写run方法. class MyThread extends Thread { private int count=1000; @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<500;i++){ count--; Sys

第1章 Java多线程技能

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

一.多线程技能

1.多线程的概念 进程的概念 进程是操作系统结构的基础:是一次程序的执行,它是系统进行资源分配和调度的一个独立单位. 线程 线程可以理解为在进程中独立运行的子任务.比如QQ进程在运行中,有很多子任务同时运行,如,好友视频线程,下载文章线程,数据传输线程等. 单任务的特点就是排队执行,也就是同步.多线程是系统运行效率大大提升,使用多线程就是使用异步. 继承Thread类 在java的JDK开发包中,已经自带了对多线程技术的支持.实现多线程主要有两种方式,一种是继承Thread类,另一种是实现Run

(1)Java多线程编程核心——Java多线程技能

1.为什么要使用多线程?多线程的优点? 提高CPU的利用率 2.什么是多线程? 3.Java实现多线程编程的两种方式? a.继承Thread类 public class MyThread01 extends Thread {     @Override     public void run() {         super.run();         System.out.println("MyThread01");     } public static void main(S

Java多线程编程(一)Java多线程技能

一.进程和多线程的概念以及线程的优点 打开Windo任务管理器可以看到很多正在运行着的exe程序,完全可以将运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元. 线程可以理解成在进程中独立运行的子任务.比如,QQ.exe运行时就有很多的子任务在同时运行. 使用线程,可以最大限度地利用CPU的空闲时间来处理其他的任务,CPU在人物之间不停地切换,由于切换速度非常快,所以人们感觉这些任务似乎在同时运行.也就是说看,可以在同一时间内运行更多不同种类的任务,可以大幅增加CPU的利用率

java多线程系列(三)

等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解能让知识更加简单易懂. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 非等待通知 public void run() { try {

java多线程系列(一)

java多线程技能 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解能让知识更加简单易懂. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 并发历史 在没有操作系统的时候,一台计算机只执行一个程序,

java多线程系列(四)

Lock的使用 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解能让知识更加简单易懂. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 ReentrantLock(重入锁) public class

java多线程系列(二)

对象变量的并发访问 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解能让知识更加简单易懂. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 线程安全 线程安全就是多线程访问时,采用了加锁机制,当一个