粉丝974获赞20.9万

我们来学习多线程的第三种实线方式可爱波和 future。 来看他的步骤。 第一步定一个麦扣 abo 类,实现可 abo 接口。哎,实现一个接口要重写里面的方法,所以我们要重写里面的扣方法。这里的扣方法就跟我们刚刚学习的让方法是一样的。 县城开启之后,他也会执行扣房法里面的代码。然后我们要到测试类里面去创建麦克 apple 的对象。那么你觉得是把这个对象跟刚刚一样传递给 sred 类吗? 不是的,他中间多了一步,需要在测试类当中再来创建 future 接口的实现类 future tops 的对象。哎。先把 michael abel 传递给 future test, 再把 future test 传递给 sred, 最后再开启先程。咱们回到 id 二当中,把它做一个代码实现。哎,我们来新建一个类,叫做 microable 实现一个接口,叫做 co abo 接口。来。注意 coabo 接口里面是有一个发型的,这个发型我不知道怎么写呀,哎。没关系,我们可以先写一个 object。 好,那么继续实现一个接口啊。要去重写里面所有的抽奖方法。那我就来写一写一个扣方法。那么要注意扣方法他是有返回值的。 你要来回忆一下我们之前的两种方式,他有没有返回去,来看 my roundable 有没有 没有,再来看第一个 my three 的有没有,同样的也没有。所以这个返回值他就是我们第三种方式的一个最大的区别。那么这个返回值他是什么意思呢?咱们一起来写一下。 返回值就表示现成运行完毕之后的结果,那么这个犯行他其实就表示返回值的一个数据类型,当你的现成执行完毕,你想要把什么返回,那么在这里你就写什么数据类型就可以了。 现在呢,我想要返回一句话,所以我就写一个死菌。那么扣方法的返回值,我要把它也改成死菌。 方法。当中我要来开始写一个循环。那么这里我的一个循环呢,我要写一个别的东西,叫做跟 女孩表白。后面呢,再加上一个哎哎表示表白的次数,那表白一百次肯定很感动的呀,哎,怎么也得答应了吧,对吧。 当县城表白一百次之后,那么女孩就答应了你的表白。那么咱们到测试类当中去开启一下县城。 在测试内里面,我们就可以先来创建 my cuable 的对象, mc 等于 new my cuable。 那么要注意了哈,这个时候呢,我们并不是直接创建一个死瑞的。然后呢,把 mc 传递进去的不是这样的,你看搞错了吧。为什么我们知道死瑞的,他是一个县城对象,这个括号里面传的是 rumble 的一个实现类。但 但是呢,现在 michael abel 他实现的是一个 co abe 对象,而 co abe 他是没有记上 rangeboo 的。所以呢,在这里我们是不能直接传递的。在这里我把它注视掉。那么要怎么办哎。中间会有一个中间界,叫做 future past。 要注意 future touch 的也有一个发型,这个发型要跟 michaelable 返回之的类型保持一致。刚刚我们返回支付转,所以我们也来写一个 stree, f t 等于 new future test, 然后把 mc 传递给 future pass。 最后再来创建一个 sred t e 等于 news red, 把 f t 作为参数传递给 给 sride, 然后我们才能去开启县城。那为什么 future toss 的他可以传递进来呢?我们可以打开 api 来看一看他的结构。在这里我们可以搜索一下 future toss。 往下来 future test, 它是实现了 future 接口,但是你看左边,它是不是还实现了一个 ronderbo 接口啊?所以 future test 的对象,它是可以直接传递给死瑞的现成的。好,我们回到 id 二里面。 那么这四行代码分别是什么意思呢?咱们来解释一下。首先第一个,那么就是县城开启之后,需要执行里面的扣方法。好,那么 future toss 的呢?他其实就好比 是一个中间媒介,他呢可以获取县城执行完毕的结果, 也可以作为参数传递给死瑞的对象。好。然后呢,这一行代码就很简单了,哎,创建县城对象,开启县城。我们可以右键运行一下, 看到结果了吧。哎,跟女孩表白一百次是不是就出现了呀?那有同学说,结果呢?答应呢?去哪了? ok, 好。那么咱们就要来获取一下县城执行完毕之后的结果。怎么获取?哎,刚刚说了, fugir 踏死的获取。 好,我们可以通过 ft 点 get 方法,可以得到现成运行完毕之后的结果。哎,他返回一个 死菌,所以呢,在这里我们就可以用一个死菌去接收哎。最后呢,把这个 s 打印一下,该的方法有异常,我们可以进行抛出,右键运行 来看一下结果。你看,跟女孩表白一百次,是不是答应你了呀? ok, 好。那么在这里呢,我们的 get 方法呀,他是有一个小注意事项的,你一定要注意哈。 这个 get 方法,你说我能不能在死大的方法之前进行调用啊?哎,我们可以右键运行一下, 你来看控制台没有,结果,红灯没有灭呀。那这个是什么意思呢?咱们需要画一个小图哎,对他做一个简单解释。我们来复制一下代码, 打开画图板哎,把代码粘贴过来。我们来解释一下这段代码。 那么程序肯定是从慢方法从上往下依次执行的。那这里我们就来画一个箭头。哎,这个呢,就表示慢方法。 慢方法呀,他其实也是有线程去调用的。当虚拟机刚开始启动的时候,他会先启动一个叫做慢线程。 而这个脉县城呢,他会去调用脉方法。这个县城呢,我们也会称之为叫做主县城。 好,主线城从上往下依次运行。我是不是先要去创建一个麦克 apple 对象,然后呢,再去创建一个 fu 缺对象,然后再去创建一个死瑞的对象。注意了,这三行带 执行完毕之后,我的县城开启了没有?注意,还没有开启。开启县城是不是大的方法做的事情? 在线程开启之前,我们去调用的 get 方法。我们来解释一下 get 方法。 get 方法呀,它是获得线程运行之后的结果。 如果哎,县城还没有运行结束,那么 get 方法哎会在这里死的,一直等待。等待什么?等待县城执行完毕。 好。所以说呢,我们的内线程从上往下依次运行。然后呢,当执行到了这一个死大的方法的时候, 那么就好比啊,是开启了这一个县城,继续往下执行。这个县城里面呢, 他其实做的就是一个跟女孩表白的事情,那么表白一百次这个地方是不是有一个结果叫做答应啊? 好,咱们再来看魅线城。魅线城里面呢,开启完 star 的方法之后,他就继续往下自行,如果说这个 get 方法,他呢是在 star 的方法下面 好,那么这个时候呢,他就停在这了。等这一百次表白结束之后,哎,把这个结果返回给 get 方法,然后下面的代码才能继续往下执行。这个呢,是合理的,是可以跑通的。 但是如果说呀,这个 get 方法他是在 sta 的方法之前,这就非常的尴尬。哎,怎么去尴尬?你还没有开始跟女孩表白呢,你, 你就想得到一个结果,哪有这么便宜的事情啊,你说对不对哎。所以在这里我们一定要注意啊, get 方法他一定要在 star 的方法之后才能调用 好。咱们回到 ppt 里面对这个知识点做一个总结。注意 get 的方法是在启动现成之后,他可以获取现成结束之后的结果。那么第三种实现方式,咱们就先学习到这里。

创建县城有哪几种方式?准确来说,创建县城只有两种方式,第一种通过所有的类来创建县城,第二种通过创建县城时来创建县城。下面两种方法,王伦 a 国跟国内 a 国都不能直接创建县城, 都需要通过 siri 包装或者提交到现成词来创建现成。每日一问,为什么不推荐直接 nosiri 的来创建现成呢?
