00:00
那么接下来咱们接着再往下看各位啊,那再往下的话,我想和大家聊一聊什么呢?就是说第二种方式。这第一种方式是编写一个类,直接继承thread重写run方法。对吧,哎,就是编写一个类直接继承thread。My thread t,另一个my thread。然后t.start。对不对,哎这样做这块呢,有一个类,这个类叫什么呀,叫做MY什么thread去继承谁呀,这个thread。然后在这里重写一个方法叫做run方法就可以了,这个叫做定义线程类,然后这个呢,我们叫做创建什么呀,线程对象,这个叫什么呀,叫做启动线程,好,那我们来看一下第二种方式啊,注意听啊,第二种方式是什么呢?是编写一个类,实现Java languageable接口啊,然后实现run方法。
01:06
啊,实现软方法,来,我们来看一下第二种方式啊,这个画图我就不画了,关了啊来新建一个class,我叫read test03。啊叫thread t03,然后呢,我们这个呢。来看看啊,实现线程的第二种方式啊,编写一个类实现java.language roundable接口,这叫roundable啊接口roundable接口来在这里呢,我们写一个class,我们叫my roundable。I planments roundable Java long下的。他知道一个类实现接口就必须强行实现一个方法,它要求你强行实现一个软方法,看见没?哎,注意,这并不是一个线程啊,充其量它只是一个可运行的类。注意啊,这并不是一个线程类啊,是一个可运行的类,它还不是一个线程啊,不是一个线程来,那么我们怎么让它变成线程呢?大家看好了,这样做在我们JDK帮助文档当中,我们可以看到我们有这样的一个类,各位叫thread。
02:23
是不是这个thread这个类啊,里边有个构造方法,大家看这个构造方法里边传一个able,看见没,这个thread,它这个构造方法里边在这个位置上需要传一个roundable。Able。那么既然是这样,那我可以在这个位置上这样做吗?先把这个买able先拗出来。New完这个买able之后,我再new一个thread new一个thread这个类的时候,里边传一个roundable,把这个R作为参数进去。这样的话,是不是这叫创建一个可运行的对象,然后再往下这个呢,是将可运行的对象封装成一个线程对象,然后接下来启动线程。
03:14
那t.start还是这个方法,各位还是这个方法啊,然后呢,我们可以把刚才这个代码复制一份,比如说这里的代码我们复制贴过来,假如说这个是100,然后接下来我们把这个代码也复制一下,放到这个地方,我们假如说这个也是100,这个叫分支线程,来,我们去执行一下,看看能不能达到同样的效果。好了,大家看这是不是同样的效果呀?同样效果吧,你看。是不是没问题吧,哎,没问题,这就是我们所说的第二种方式,各位,那么这两行代码能不能合并成一行呢?能不能在这儿THT等于一个thread,把上面这个这个。
04:00
我们直接在这扭一下不就行了吗?对吧,好了,那么这是合并代码之后就是这个德行。啊,这种方式采用接口的方式实现多线程,采用接口的方式实现多线程,各位啊,来回来你看。对吧,你看是不是你看。对不对?哎,使用接口的这种方式啊,来我们来总结一下第二种方式,编辑类实现run接口实现run方法来怎么做呀?哎,定义一个可运行的类怎么定义啊,Public class my roundables roundable,然后我们去写一个方法叫做run方法,然后我们在run方法写代码就行了。那么创建线程对象怎么做呢?Thad t等于new一个thread,然后接下来我们在这个里边传个参数,你一个买roundable对象传进去,接下来我们再往下是干什么呀?叫做启动线程T点启动就可以了。
05:10
啊来这是一个类对吧,然后呢,我们六对象啊,然后呢,Start启动线程,创建线程啊你看这两种方式,一个是直接成thread,直接new对象就完事了,点start,这个是写一个类实现这个接口,写一个软方法,然后把new thad的时候作为参数传进去,然后t.start。对吧,这两种方式都可以,你选哪个都可以啊,我们再运行一下。对吧,你看。是不是,哎分支你看看见了吧,哎并发对不对呦哎呦,这次巧了,来再来一次。看看哎,分支分支分支分支分支分支分支分支,我的天呐,分支分支分支就是厉害啊,然后主线程你看是吧,并发吧,哎,并发来走一个。
06:00
再来一个。嗯。是不是,哎,就是这样的啊。
我来说两句