//主线程
void main() {
print(‘main start!’);
//微任务
scheduleMicrotask((){
print(‘微任务执行!’);
});
//事件任务
Timer.run(() {
print(‘事件任务执行!’);
});
print(‘main end!’);
}
运行结果:
I/flutter: main start!
I/flutter: main end!
I/flutter: 微任务执行!
I/flutter: 事件任务执行!
延伸代码示例
下面演示的是在上面基础代码示例的基础上加上,微任务里面生成事件任务和在事件任务中生成微任务的情况。
import ‘dart:async’;
//主线程
void main() {
print(‘main start!’);
//微任务
scheduleMicrotask((){
print(‘微任务 start!’);
//子事件任务
Timer.run(() {
print(‘子事件任务执行!’);
});
print(‘微任务 end!’);
});
//事件任务
Timer.run(() {
print(‘事件任务 start!’);
//子微任务
scheduleMicrotask((){
print(‘子微任务执行!’);
});
print(‘事件任务 end!’);
});
print(‘main end!’);
}
运行结果:
I/flutter: main start!
I/flutter: main end!
I/flutter: 微任务 start!
I/flutter: 微任务 end!
I/flutter: 事件任务 start!
I/flutter: 子微任务执行!
I/flutter: 子事件任务执行!
阻塞问题
虽然按照上面的结果可以看出在单线程中,主线程、微任务队列、事件任务队列都是线性运行的,那么,假如我们在他们里面加入了阻塞操作,会不会依旧为线性运行?还是说,其实任务队列是并发的,只是微任务队列的优先级比事件任务队列的优先级高一点而已。
这里,我们通过加入sleep(Duration(seconds: 2));
代码模拟耗时操作。
import ‘dart:async’;
import ‘dart:io’;
//主线程
void main() {
print(‘main start!’);
sleep(Duration(seconds: 2));
//微任务
scheduleMicrotask((){
print(‘微任务 start!’);
sleep(Duration(seconds: 2));
//子事件任务
Timer.run(() {
print(‘子事件任务执行!’);
sleep(Duration(seconds: 2));
});
print(‘微任务 end!’);
});
//事件任务
Timer.run(() {
print(‘事件任务 start!’);
sleep(Duration(seconds: 2));
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
总结
我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。
这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。
大家可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:
希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!
mg-aagA9vEI-1711131165858)]
[外链图片转存中…(img-aMyWctcO-1711131165859)]
希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!