线程 线程的概念
今天我来介绍一下线程的一系列知识,首先,我们要知道什么是线程,我们在平时使用软件的时候,可以在资源管理器看到我们都有什么进程在运行,一个应用软件的运行就是一个进程,而线程是进程的一种,一个程序运行至少有一个进程,一个进程的运行可以有多个线程。
线程又分为单线程和多线程:
单线程:就是程序的顺序执行,一个一个的来
多线程:多个任务可以同时执行,打破了单线程的局限性。
了解了线程的相关概念之后,我们来看一下线程的实现
Thread类
构造方法:
常用方法:
下面我们来模仿一下lol的英雄多线程的情况:
public static void main(String[] args) { Hero gareen = new Hero(); gareen.name = "盖伦"; gareen.hp = 616; gareen.damage = 50; Hero teemo = new Hero(); teemo.name = "提莫"; teemo.hp = 300; teemo.damage = 30; Hero bh = new Hero(); bh.name = "赏金猎人"; bh.hp = 500; bh.damage = 65; Hero leesin = new Hero(); leesin.name = "盲僧"; leesin.hp = 455; leesin.damage = 80; KillThread killThread1 = new KillThread(gareen,teemo); killThread1.start(); KillThread killThread2 = new KillThread(bh,leesin); killThread2.start(); }
先创建三个对象,就是三个英雄
public
class
KillThread
extends
Thread{
private
Hero h1;
private
Hero h2;
public
KillThread(Hero h1, Hero h2){
this
.h1 = h1;
this
.h2 = h2;
}
public
void
run(){
while
(!h2.isDead()){
h1.attackHero(h2);
}
}
}
这样三个英雄可以相互攻击,若是单线程,只能死了一个英雄之后别的英雄才会相互攻击。
这就是简单的多线程的实现。