00:00
然后呢,咱们看看怎么给它改成这个同步的呢。嗯,在这增加一个属性哈。角asy c。啊。叫啥这边对这边给一个false,可千万别放这个引号里边哈,我我有一次测试的时候就放到引号里边,就咋测测不出来这个效果。这个GS假设不报错,他把这个呢当做也也可以,就是就是GS呢,它很奇葩这个语言。它可以这个东西可以放在衣服里边。你说他把这个当成什么来处理?他拿这个当成针来处理,你能想象得到吗?为啥当成针来处理呢?因为这是一个飞空的走法。他空奏串,你要是往里边放个空奏串,它当成假来处理,你放个非空的,他认为这是真。
01:00
这个它特别的就是引号里边的false,这个特别具有迷惑性。所以说我们在GS里边用false的时候一定要注意哈,你别别别放在引号里边,含义完全不一样了。呃,就是说把异步的工作模式关闭,那它就是同步的了。这个就是关闭。嗯,异步工作模式,哎,就是说使用。同步。方式工作。此时。我们Dollar。其实你就我们说哈,说一个最核心的所有操作在。同一个线程。按顺序完成。那么你想吧,按顺序走。先走,他。再找他。到这儿。这个线程在这会等什么时候服务器给响应了,什么时候走这。
02:00
然后再走它。哎,所以说我们现在看一下啊。咱们看这个税多少秒,用用不用,用不用改一下。呃。啊对,那就我们把这个拿到外边来。去掉是吧,或者说我注释一下啊。这个快捷键还不太好用。对,这边我这边是睡两秒也好,睡几秒也好,就我们如果夸张一点睡五秒的话啊,太长时间浏览器这边超时了也不行。这边睡五秒,那么这边呢,他说。呃,叫海枯石烂。叫什么我都等你。对吧,你这边啥时候你返回响应,只要没有到浏览器超时的那个时间啊,没有当地时间,你多长时间,我都等你什么时候你这打印了,我这再打印啊。
03:02
诶,然后。对,这边也他也重重新加载了,那么这边得重新登录一下。哎。那么好点一下它。这个是个警告,说这边会时间很长啊,这个不用管它啊。那么这时候就是说先是返回响应,然后再走这个后边后边的这个东西诶。这就是这个同步哈,就是这样一种这个方式。呃,首先呢,是这个图解哈。哎,这个时候这个图呢,就不这么画了。这个图呢,就是把这条线我们给去掉。还是呢,这也不是没有这个线程了,我们给服务器发这个请求啊,这边然后呢,服务器。服务器返回响应。哎,返回响应,然后呢,去给去找我们success success这个函数呢,它完事以后才会接着走,它后边的。
04:08
你看虽然说拐了个弯,但是呢,他们还都是在这一一条线里边啊。所以说呢。就是要同步的话呢,就是在一个线程里边按顺序执行就是同步的。Java代码也是一样的。啊,张号代码也是这样的,你有一个方法A,它呢去调用这个方法BB调C。这个时候呢,这个调用就是在一个线程里边的。我A掉B的时候,B如果没有执行完A呢,下边的代码就不能继续往下执行。这个举个举个举个举个举个Java的例子哈。比如说在这儿哈,咱们说public method01。Public void method02。
05:08
然后呢,我方法一调方法二,方法二调方法三。方法三。这少符号。我在这个里边呢。只是这个一的这个函数呢,它开始。诶,这是这个二的函数呢,它结束。哎,然后这个是二开始。然后呢,这个是二。哎,不是,这是一结束我瞎说的。看你们,你们没发现啊。
06:01
一开始一结束嘛,对吧。啊,少个引号我说。引号不是分号啊,一开始一解束,二开始二结束是吧,基本上是是13。嗯,这个跑的话呢,咱们写个啊public。METHOD01。找一个。嗯,一开始执行这个。然后呢,它执行二,然后呢二开始。然后呢,走这儿。哎,二开始以后呢,叫三三打印它到这儿,这样三结束了才回来,就这个才表示这行代码结束了,才继续只去执行这行代码,然后这时二结束。这行代码也执行完,才是这行代码才结束,才接着去执行它。
07:03
这就是说他们在一个线程上,哎,你前边的这个操作呢,按顺序来看,前面这操作不完成,后边这个东西就得在这儿等着。我们如果在这第bug的话。哎,你程序在这儿停住了。是吧,你不管他在后边就是不能走啊,我这个不往下走,你下边就是执行不到。所以一个线程上面执行的东西的话,它一定是按顺序的。一个线程内部它一定是按顺序的啊,你像我们tomcad处理我们的请求,那每一个请求,Tomcat是从线程池里边取一个线程来处理这个请求。所以一个请求呢,它如果说你没有创建多线程的话,它就是一定是在一个线程里边按顺序,按顺序去执行的,这里边有任何一个地方抛一场,它整个这个线程的话,整个它就断了啊,或者说有任何地方卡住它这个页面上它就会看到就会卡住。
08:00
这就是一个线程,如果你在这儿去另外开一个线程的话,这个就这个事儿就完全就不是就不这样了啊,这个因为你两个线程。你这个线程是不会等这个线程的,这个线程如果卡住这个线程是不影响的。这就叫异步啊,所以说其实我们服务器端也好,浏览器也好,一样的同步呢,就在一个线程里边操作的,异步呢,它就是在。呃,多个线程里边操作的啊,所以说我们说为什么说多线程是我们义务操作呢。这时候其实大家可以考虑一下,生活中有哪些事可以同步着做,也可以异步着做。嗯,比如说就咱们眼前这个,咱们听课的话,咱们现在我在这说,你们在下边听,咱们是同步的,是一部的。啊,有同学说你讲你的,我早就睡着了。你要这样的话,咱就是义务的,是你要这样咱就义务的,如果我讲你也我在讲你在听是吧,哎,你们不来我没法上课,我不来你们也没法上课,对吧,所以这个咱们这种是同步的。
09:09
那么大家想想,咱们上课这事怎么能给它改成异步的?我上课。录视频,你们在睡觉,把视频发给你们,晚自习看视频是吧?啊。就是说我比如说我在家提前把视频录好。上课来了以后呢,我把视频发给你们,你们看视频我就出去玩去了是吧。啊,如果是这样的话,那就是异步对吧,那就是异步啊,就是异步。哎,我不用来是吧,我从网上把视频发给你们就行了是吧。就是说那你在家看上硅谷视频不就是这个效果吗?就是异步的。嗯,还有这吃饭这事儿。
10:00
吃饭这事儿有没有?是有有没有同步,有没有异步。
我来说两句