前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java并发编程(2):Java多线程-java.util.concurrent高级工具

java并发编程(2):Java多线程-java.util.concurrent高级工具

原创
作者头像
周陆军博客
发布于 2023-04-09 14:50:34
发布于 2023-04-09 14:50:34
33800
代码可运行
举报
文章被收录于专栏:前端博客前端博客
运行总次数:0
代码可运行

高级多线程控制类

Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。

ThreadLocal类

ThreadLocal类 用来保存线程的独立变量。对一个线程类(继承自Thread)

当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。常用于用户登录控制,如记录session信息。

实现:每个Thread都持有一个TreadLocalMap类型的变量(该类是一个轻量级的Map,功能与map一样,区别是桶里放的是entry而不是entry的链表。功能还是一个map。)以本身为key,以目标为value。

主要方法是get()和set(T a),set之后在map里维护一个threadLocal -> a,get时将a返回。ThreadLocal是一个特殊的容器

原子类(AtomicInteger、AtomicBoolean……)

如果使用atomic wrapper class如atomicInteger,或者使用自己保证原子的操作,则等同于synchronized

AtomicInteger.compareAndSet(int expect,int update)//返回值为boolean

AtomicReference

对于AtomicReference 来讲,也许对象会出现,属性丢失的情况,即oldObject == current,但是oldObject.getPropertyA != current.getPropertyA。

这时候,AtomicStampedReference就派上用场了。这也是一个很常用的思路,即加上版本号

Lock类 

lock: 在java.util.concurrent包内。共有三个实现:

  1. ReentrantLock
  2. ReentrantReadWriteLock.ReadLock
  3. ReentrantReadWriteLock.WriteLock

主要目的是和synchronized一样, 两者都是为了解决同步问题,处理资源争端而产生的技术。功能类似但有一些区别。

区别如下:

  1. lock更灵活,可以自由定义多把锁的枷锁解锁顺序(synchronized要按照先加的后解顺序)
  2. 提供多种加锁方案,lock 阻塞式, trylock 无阻塞式, lockInterruptily 可打断式, 还有trylock的带超时时间版本。
  3. 本质上和监视器锁(即synchronized是一样的)
  4. 能力越大,责任越大,必须控制好加锁和解锁,否则会导致灾难。
  5. 和Condition类的结合。
  6. 性能更高,synchronized和Lock性能对比,如下图:
ReentrantLock的使用

可重入的意义在于持有锁的线程可以继续持有,并且要释放对等的次数后才真正释放该锁。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private java.util.concurrent.locks.Lock lock = new ReentrantLock();
public void method() {	
	try {		
		lock.lock();		//获取到锁lock,同步块
	} finally {		
		lock.unlock();//释放锁lock
	}
}
  • ReentrantLock 比 synchronized 功能更强大,主要体现:
  • ReentrantLock 具有公平策略的选择。
  • ReentrantLock 可以在获取锁的时候,可有条件性地获取,可以设置等待时间,很有效地避免死锁。
  • 如 tryLock() 和 tryLock(long timeout, TimeUnit unit)
  • ReentrantLock 可以获取锁的各种信息,用于监控锁的各种状态。
  • ReentrantLock 可以灵活实现多路通知,即Condition的运用。

公平锁与非公平锁

ReentrantLock 默认是非公平锁,允许线程“抢占插队”获取锁。公平锁则是线程依照请求的顺序获取锁,近似FIFO的策略方式。

锁的使用

  1. lock() 阻塞式地获取锁,只有在获取到锁后才处理interrupt信息
  2. lockInterruptibly() 阻塞式地获取锁,立即处理interrupt信息,并抛出异常
  3. tryLock() 尝试获取锁,不管成功失败,都立即返回true、false,注意的是即使已将此锁设置为使用公平排序策略,tryLock()仍然可以打开公平性去插队抢占。如果希望遵守此锁的公平设置,则使用 tryLock(0, TimeUnit.SECONDS),它几乎是等效的(也检测中断)。
  4. tryLock(long timeout, TimeUnit unit)在timeout时间内阻塞式地获取锁,成功返回true,超时返回false,同时立即处理interrupt信息,并抛出异常。

如果想使用一个允许闯入公平锁的定时 tryLock,那么可以将定时形式和不定时形式组合在一起:

if (lock.tryLock() || lock.tryLock(timeout, unit) ) { ... }

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private java.util.concurrent.locks.ReentrantLock lock = new ReentrantLock();
public void testMethod() {	
	try {		
		if (lock.tryLock(1, TimeUnit.SECONDS)) {
			//获取到锁lock,同步块
		} else {		
			//没有获取到锁lock
		}
	} catch (InterruptedException e) {
		e.printStackTrace();
	} finally {
		if (lock.isHeldByCurrentThread())
		//如果当前线程持有锁lock,则释放锁lock
			lock.unlock();
	}
}
条件Condition的使用

条件Condition可以由锁lock来创建,实现多路通知的机制。

具有await、signal、signalAll的方法,与wait/notify类似,需要在获取锁后方能调用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private final java.util.concurrent.locks.Lock lock = new ReentrantLock();
private final java.util.concurrent.locks.Condition condition = lock.newCondition();
public void await() {	
	try {		
		lock.lock();		//获取到锁lock
		condition.await();//等待condition通信信号,释放condition锁
		//接到condition通信
	} catch (InterruptedException e) {
		e.printStackTrace();
	} finally {
		lock.unlock();//释放对象锁lock
	}
}
ReentrantReadWriteLock的使用

ReentrantReadWriteLock是对ReentrantLock 更进一步的扩展,实现了读锁readLock()(共享锁)和写锁writeLock()(独占锁),实现读写分离。读和读之间不会互斥,读和写、写和读、写和写之间才会互斥,提升了读写的性能。

读锁示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private final java.util.concurrent.locks.ReadWriteLock lock = new ReentrantReadWriteLock();
public void method() {	
	try {		
		lock.readLock().lock();//获取到读锁readLock,同步块
	} finally {		
		lock.readLock().unlock();//释放读锁readLock
	}
}

写锁示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private final java.util.concurrent.locks.ReadWriteLock lock = new ReentrantReadWriteLock();
public void method() {	
	try {		
		lock.writeLock().lock(); //获取到写锁writeLock,同步块
	} finally {
		lock.writeLock().unlock(); //释放写锁writeLock
	}
}

容器类

同步容器与异步容器概览

同步容器

包括两部分:

  • 一个是早期JDK的Vector、Hashtable;
  • 一个是它们的同系容器,JDK1.2加入的同步包装类,使用Collections.synchronizedXxx工厂方法创建。

Map<String, Integer> hashmapSync = Collections.synchronizedMap(new HashMap<>());

同步容器都是线程安全的,一次只有一个线程访问容器的状态

在某些场景下可能需要加锁来保护复合操作

复合类操作如:新增、删除、迭代、跳转以及条件运算。

这些复合操作在多线程并发的修改容器时,可能会表现出意外的行为,

最经典的便是ConcurrentModificationException,

原因是当容器迭代的过程中,被并发的修改了内容,这是由于早期迭代器设计的时候并没有考虑并发修改的问题。

其底层的机制无非就是用传统的synchronized关键字对每个公用的方法都进行同步,使得每次只能有一个线程访问容器的状态。这很明显不满足我们今天互联网时代高并发的需求,在保证线程安全的同时,也必须有足够好的性能。

并发容器

与Collections.synchronizedXxx()同步容器等相比,util.concurrent中引入的并发容器主要解决了两个问题:

  1. 根据具体场景进行设计,尽量避免synchronized,提供并发性
  2. 定义了一些并发安全的复合操作,并且保证并发环境下的迭代操作不会出错

util.concurrent中容器在迭代时,可以不封装在synchronized中,可以保证不抛异常,但是未必每次看到的都是"最新的、当前的"数据。

Map<String, Integer> concurrentHashMap = new ConcurrentHashMap<>();

ConcurrentHashMap 替代同步的Map即(Collections.synchronized(new HashMap()))。

众所周知,HashMap是根据散列值分段存储的,同步Map在同步的时候会锁住整个Map,而ConcurrentHashMap在设计存储的时候引入了段落Segment定义,同步的时候只需要锁住根据散列值锁住了散列值所在的段落即可,大幅度提升了性能。ConcurrentHashMap也增加了对常用复合操作的支持,比如"若没有则添加":putIfAbsent(),替换:replace()。这2个操作都是原子操作。注意的是ConcurrentHashMap 弱化了size()和isEmpty()方法,并发情况尽量少用,避免导致可能的加锁(当然也可能不加锁获得值,如果map数量没有变化的话)。 CopyOnWriteArrayList和CopyOnWriteArraySet分别代替List和Set,主要是在遍历操作为主的情况下来代替同步的List和同步的Set,这也就是上面所述的思路:迭代过程要保证不出错,除了加锁,另外一种方法就是"克隆"容器对象。---缺点也明显,占有内存,且数据最终一致,但数据实时不一定一致,一般用于读多写少的并发场景。

  • ConcurrentSkipListMap可以在高效并发中替代SoredMap(例如用Collections.synchronzedMap包装的TreeMap)。
  • ConcurrentSkipListSet可以在高效并发中替代SoredSet(例如用Collections.synchronzedSet包装的TreeMap)。
  • ConcurrentLinkedQuerue是一个先进先出的队列。它是非阻塞队列。注意尽量用isEmpty,而不是size();

CountDownLatch闭锁的使用

管理类

管理类的概念比较泛,用于管理线程,本身不是多线程的,但提供了一些机制来利用上述的工具做一些封装。

了解到的值得一提的管理类:ThreadPoolExecutor和 JMX框架下的系统级管理类 ThreadMXBean

ThreadPoolExecutor

如果不了解这个类,应该了解前面提到的ExecutorService,开一个自己的线程池非常方便:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ExecutorService e = Executors.newCachedThreadPool();
    ExecutorService e = Executors.newSingleThreadExecutor();
    ExecutorService e = Executors.newFixedThreadPool(3);
    // 第一种是可变大小线程池,按照任务数来分配线程,
    // 第二种是单线程池,相当于FixedThreadPool(1)
    // 第三种是固定大小线程池。
    // 然后运行
    e.execute(new MyRunnableImpl());

该类内部是通过ThreadPoolExecutor实现的,掌握该类有助于理解线程池的管理,本质上,他们都是ThreadPoolExecutor类的各种实现版本。

参考文章:

Java多线程并发编程一览笔录 https://www.cnblogs.com/yw0219/p/10597041.html

Java 中的多线程你只要看这一篇就够了 https://juejin.im/entry/57339fe82e958a0066bf284f

转载本站文章《java并发编程(2):Java多线程-java.util.concurrent高级工具》, 请注明出处:https://www.zhoulujun.cn/html/java/KeyConcepts/8476.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
教育+VR,你和你孩子的课堂一定不一样!
近日,数字艺术家正利用文艺复兴时代作品中对古罗马的描写,来帮助他们在VR中完成对文物和遗迹的重现。通过VR,人们可以了解这些残破遗址过去的辉煌,感悟历史河流冲刷下的沧桑感。 通过将自身投注于相关的情境
VRPinea
2018/05/15
1.2K0
腾讯读书酱:做提升教育效率的“小”助力
在今年的秋季新学期,许多语文老师开启了“AI新工作模式”。 他们正在使用腾讯读书酱——由腾讯教育创想产品研发团队开发的一款助力提升教师工作效率的AI小程序。从2019年11月立项开始,在2020年2月读书酱完成了初步设计,4月上线了第一个验证版本,最早两所合作校的老师使用过后觉得“挺有用”,就推荐给了身边的同行,1个月后已有超过12家学校的老师在试用。9月1日读书酱发布了第一个正式版本,截止10月底,读书酱的用户已经覆盖全国700多所学校。 从小切口切入,只为解决一线教师实际问题 作为一款“小”产
鹅老师
2020/10/30
1.8K0
深圳龙华区教育局联合腾讯教育发布“龙华云校”,共同打造无边界校园新范式
8月23日,由深圳龙华区教育局联合腾讯教育共同打造的“龙华云校”新一代学习系统正式发布。发布会上,双方嘉宾共同按下启动柱,并发出13000余封数字新生通知书,宣布龙华云校正式上线运行。龙华区教育局局长、龙华云校总校长王玉玺,段先清、魏新春、黄思亮、李庆、袁再旺等龙华教育局领导班子成员,以及腾讯云副总裁、腾讯教育副总裁王涛,腾讯教育运营总经理徐勇群等领导嘉宾共同出席发布仪式。 据了解,龙华云校汇聚了区域内丰富且优质的“三级五类”课程资源,旨在为学生提供一个有趣、有用、有意义的开放式学习空间,探索以学生
腾讯智慧教育
2021/08/27
1.1K0
深圳明德实验学校师生共迎网络“开学典礼” 83%师生选用腾讯课堂
“第一次参加这样的开学典礼,原以为只是形式有趣,实际参加后真是受益匪浅。” “带给孩子们的不仅仅是仪式感,更是一次温暖而有力量的洗礼。” 深圳明德实验学校家长群和朋友圈里,被一场特殊的“开学典礼”刷屏了。 近日,深圳明德实验学校(以下简称“明德实验学校”)举行“海豚学院第二周升旗仪式暨小初部网上开学典礼”,近3000名师生和家长通过网络在线参与。 “腾讯课堂操作比较便利,直播画面更流畅一些。”明德实验学校许老师表示,此次云端“开学典礼”,由腾讯课堂等在线教育平台提供直播入口,有2500人选择使用腾
鹅老师
2020/06/10
4800
打通智慧教育最后一公里 百余长沙校长与腾讯共话未来校园建设
9月26日,由腾讯教育、企业微信和校长会联合主办的“链接共享:创生未来教育生态圈——教育信息化基础建设与应用专题研讨会”在长沙湖南师范大学举办。来自教育行业的信息化专家、长沙地区百余所学校的校长和信息化负责人,以及教育企业代表聚焦教育生态圈的构建,从教育信息化的政策、基础理论研究与应用、学校管理、家校共育等视角展开讨论,共同探索如何用创新技术推动智慧教育的发展。 创建智慧教育示范区 教育信息化的长沙实践 当前,全球正处于新一轮科技革命和产业变革周期。新的时代背景下,如何构建面向未来的教育新生态?
鹅老师
2020/09/29
5350
全国校长沙龙在腾讯深圳总部举办:跳出边界,探寻未来教育更多可能
科技的高速发展,深刻地改变了教育,也推动着教育发展步入全新的时代。信息化和智能化的浪潮之下,教育会呈现出怎样的新样态?如何打造面向未来的学校与课堂?7月18日,全国校长会联合腾讯教育举办的“科技,创造教育新未来”主题沙龙在深圳腾讯总部召开。来自教育领域的专家学者及全国200多位中小学校长代表出席了此次沙龙,围绕未来学校治理、科技赋能课堂创新等话题,共同探讨未来学校的变革发展,为推动未来课堂的创新提供前沿的理论指导。 全国校长会联合腾讯教育举办“科技,创造教育新未来”主题沙龙 新时代背景下 发挥深圳
腾讯智慧教育
2020/07/21
6620
MEET峰会大咖说| 人大附中航天城校长周建华:博士教中小学并非人才浪费
公立校究竟如何吸引高素质师资备受关注。近日,由腾讯教育主办的第二届MEET教育科技创新峰会上,人大附中联合学校总校的常务副校长、人大附中航天城学校校长周建华提出,博士生教中小学生并非人才浪费,人大附中十多年前就有博士从教,而在人大附中航天城学校,拥有博士学历的老师占比超10%。 周建华同时表示,目前,腾讯教育已经深入到老少边穷地区,培训老师、校长,助力学生,体现企业的社会责任感,“腾讯利用本身的科技产品为整个教育赋能,这方面的工作也是非常杰出的”。 以下为专访内容: 1 腾讯教育:您在之前的演讲中,也提到
鹅老师
2021/04/28
1K0
腾讯青少年科技学院:助力青少年不一样的“战疫”假期
2020年的寒假,对于全国各地的中小学生来说注定是个不平凡的假期。 在这个特殊的寒假,腾讯青少年科技学院秉持着用科技助力K12教育的初心,在腾讯公司科技向善的使命号召下,不断探索基础教育阶段的科技教育理念及实践,为青少年打造了腾讯Mini鹅创想营、腾讯创想编程线上直播课、“AI未来”科普课等多场线上、线下公益科技教育活动,用科技的力量点亮青少年的假期时光,在这场“战疫”中为孩子们的寒假生活画上了充实且有意义的一笔。 腾讯Mini鹅创想营 当年轻的脑洞遇上互联网科技 2020年1月21日上午,腾讯Min
鹅老师
2020/06/10
1K0
学习科学分享会|从方法论到实战经验升级教师技能
“为什么同一个班的学生,同样的老师、同样的教学方法,孩子们学习效果参差不齐?” “教学除了传授知识,怎样才能给孩子带来内在能力提升?” “家校共育工作要怎么推进才是最优解?” “孩子的学习压力、老师的职业焦虑该如何缓解?” “怎么才能给学生‘减负’又保证成绩提升?” 像这样的“职场焦虑”几乎在每一个教师的日常工作中都能遇到,国家倡导给基础教育阶段的学生“减负”、发展素质教育,这是教育行业发展的时代使命,也是每一位人民教师在提升教学技能过程中一定要经历的自我升级。 在学校教育中,教师是教育政策落地的“
腾讯智慧教育
2021/08/12
5100
AI如何赋能教育,看完这场全球大会就知道答案
杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在教育行业,有个著名的「乔布斯之问」。 为什么计算机改变了几乎所有领域,却唯独对学校教育的影响小得令人吃惊? 或许已经有人已经注意到,当前在AI产业落地的关键期,AI+教育的落地似乎要比其他产业更难。 那么教育,在智能时代下,将往何处去?再加上今年疫情「在线教育」兴起,这又会给后疫情时代的教育带来怎样的反思和变革? 就在最近,在北京国家会议中心,科大讯飞联合中央电化教育馆、北京师范大学共同举办了一场2020全球人工智能与教育大数据大会,探讨「技术
量子位
2023/03/10
3960
AI如何赋能教育,看完这场全球大会就知道答案
腾讯教育推全新基础教育解决方案:生态协同精细化服务,全面贴合局、校、家需求
教育信息化从“工具时代”进入“智慧时代”,AI+大数据+云的科技力量,正助力探索教学结果评价到过程测量、多元个性的精准教育。4月20日,第二届MEET教育科技创新峰会举办。在基础教育专场上,来自教育领域的专家、学者围绕“生态协同,智慧进化”展开热议,对科技助力下基础教育高质量发展新图景展开前瞻探讨。 论坛现场,腾讯教育展示了其以AI+大数据为特色、针对基础教育领域的一整套解决方案。同时,腾讯教育发布了联合惠普、英特尔、麒麟共同打造的国内首款基于Linux系统深度定制的智能教育电脑——惠普-腾讯教育智能本。
鹅老师
2021/04/22
6540
18万名师在线“抢单”,江苏用1v1即时答疑弥合地域教育差异
学生“下单”提问,名师“抢单”答疑。在江苏,地域之间的教育资源差异正在被弥合。 课后,当学生遇到不懂的问题,只需将问题发布在“江苏省名师空中课堂”平台,平台便会向江苏各地的18万名优秀教师“在线派单”,“接单”老师将和提问学生进入直播间进行1v1互动答疑。完成后,学生会根据答疑情况,给予老师星级点评。 江苏省名师空中课堂是由江苏省教育厅从2019年起开始建设的教育信息化平台,免费面向全省1100万师生提供优质教育资源和教学管理工具。“我们的孩子能接触到省里名师录制的课程,甚至直接1对1接受答疑,这在以前是想
鹅老师
2022/09/19
8110
18万名师在线“抢单”,江苏用1v1即时答疑弥合地域教育差异
腾讯智慧校园开放生态,联手深圳明德实验学校打造标杆示范校
4月22日,“未来学校管理创新联合实验室”实验基地信息化建设研讨会在深圳明德实验学校召开,信息化教育专家、华东师范大学教授李宝敏,福田区教育局副局长文渊,明德实验学校校长鲁江,福景外国语学校校长徐汉泉,腾讯基础教育业务总经理徐勇群、深圳倍思教育科技创始人孙文锦等人出席了活动。 据了解,“未来学校管理创新联合实验室”经华东师范大学批准,由华东师范大学开放教育学院和倍思教育研究院联合成立,是一个基于“倍思全流程教学管理云平台”在学校落地的应用型研究项目。 腾讯智慧校园、企业微信为 “倍思全流程教学
腾讯智慧教育
2021/05/06
9360
停课不停学!深圳罗湖联手腾讯教育打造多元化防疫解决方案
2月17日,深圳市中小学“在线开学”。为做好防疫期间中小学“停课不停教 停课不停学”的工作,秉承“全区统筹,推荐平台,学校组织,年级授课,班级管理,精准施策”以及“一校一方案”等原则,深圳市罗湖区教育局联合罗湖智慧城市建设中心、腾讯教育,共同推出了多元化的“停课不停学”解决方案,并充分利用互联网、大数据等现代技术,满足特殊时期全区中小学师生在家上课的需求。 图:罗湖区教科院2020年新学期教研工作会 一校一方案:打造多元教育防疫解决方案 近年来,深圳罗湖扎实推进教育信息化建设,将智慧教育云平台
鹅老师
2020/06/10
4960
他们在阿佤山区学编程
人工智能时代到来之际,边疆贫困地区的孩子们不应再落后于时代。至少在编程这件事上,有机会和发达地区的孩子们站在同一起跑线上。面向智能时代的到来,要能够让孩子们具备用信息化的眼光,信息化的思维来看待这个世界,并且将来能够具备去更好的参与和改造这个世界的能力。               ——   云南沧源佤族自治县副县长杨金勇
腾讯智慧教育
2019/05/20
7430
他们在阿佤山区学编程
腾讯教育助力北师大二附中研究团队开展精准教学课题研究
随着信息化技术深度融入教育场景,以AI、大数据为支撑的精准教学显著提升了课堂效率,让老师实现了精准教,学生实现了个性学。7月2日,个性化学习课题组北师大二附中研究团队(以下简称北师大二附中团队)举办北师大二附中团队精准教学研究成果汇报会暨精准教学论坛,汇报北师大二附中团队借助腾讯教育技术对课堂教学改革进行的实践与探索。 北师大二附中团队精准教学研究成果汇报会暨精准教学论坛现场 北京教育科学研究院信息中心副主任、中国互联网协会青年专家唐亮,北京师范大学教育学部教育技术学院教授李玉顺,北京师范大学第二附属中学
鹅老师
2022/07/12
6930
腾讯教育助力北师大二附中研究团队开展精准教学课题研究
深圳机器人教学或将摆脱“虚拟”作战
对深圳的中小学生来说,诸如3D打印、智能机器人等前沿科技对他们并不陌生。教育界对于科技创新日益重视,深圳不少学校已经在尝试或实践开设3D打印课程,而你是否知道,深圳也是全国最早实行机器人进课堂的城市之一。从2012年开始,机器人就作为信息技术课程中的一个重要模块,成为深圳中小学生的必修课。 不过也有业内人士指出,尽管机器人教学深圳推动很早,但受硬件设备、资金、重视程度不一等问题制约,目前绝大多数学校仍处于仿真虚拟课堂阶段,即只是进行程序设计、编写,用电脑仿真运行。而更深的硬件拼装、程序下载到机器人大脑进行
机器人网
2018/04/13
7170
深圳机器人教学或将摆脱“虚拟”作战
边学边测、AI现场评分!这所学校的英语听说课人均配备贴身“助教”
在中考英语听说微技能系列在线训练课堂中,学生通过电脑、平板学生端参与口语任务活动,学生每一个单词的发音在2秒内得到了精确到音节级别的评估反馈。3月22日,在深圳市龙岗区全区初中英语教研会上,龙岗区外国语学校的三位英语教师正基于腾讯英语君教考练平台,尝鲜英语听说云端教学新模式。 腾讯英语君是腾讯教育面向英语教学及听说训练考试打造的智慧英语听说教学解决方案。腾讯英语君依托行业领先的人工智能技术,助力英语听说教学实现音素级口语评测,并且打通课前、课中、课后的教学数据闭环,实现个性化教学的同时,促进“双减”政策的进
鹅老师
2022/03/24
3.7K0
融合学科打造“有形”知识,腾讯教育携手云南探讨低门槛人工智能教育
人工智能作为“高新技术”的代名词之一,人工智能教育也被赋予了一层“高门槛、高投入”的滤镜。事实上,开展人工智能教育并非一线名校专属。在刚刚结束的2021-2022学年全国中小学信息技术创新与实践大赛中,来自西南边陲省份——云南的174名学生晋级Coding创意编程全国复赛并斩获佳绩。 造就如此成绩的“云南模式”,究竟是怎样形成的? 7月29日,由云南省科普教育基地联合会与腾讯教育联合举办的云南省青少年人工智能教育发展论坛在昆明举行。中国科学院大学教授易卫东博士、中国自动化学会智慧教育专业委员会秘书长刘希未博
鹅老师
2022/08/26
6100
融合学科打造“有形”知识,腾讯教育携手云南探讨低门槛人工智能教育
腾讯智慧校园走进上饶石人乡小学 让偏远山区师生看到农村教育希望
上饶县石人乡小学地处上饶县北部灵山南麓,距离县城40余公里。全乡共有1所中心小学,9所完小,4所村小,2个教学点,126名教师,2558名学生。12月3日,江西省上饶县石人乡中心小学校长徐辉告诉“改革开放四十周年基层行”集中采访团记者,“师资力量的严重短缺是农村学校的普遍现象,每逢县城选调教师,刚刚成长起来的优秀年轻教师就被选调走,学校就顺理成章扮演了‘新教师培训基地’的角色。2016年9月,腾讯‘智慧校园’走进了石人乡小学,让我们看到了农村教育的希望。”据悉,如今,石人乡小学的教师、家长实时在线使用人数已达1200人以上。
腾讯智慧教育
2018/12/11
1.8K0
腾讯智慧校园走进上饶石人乡小学 让偏远山区师生看到农村教育希望
推荐阅读
教育+VR,你和你孩子的课堂一定不一样!
1.2K0
腾讯读书酱:做提升教育效率的“小”助力
1.8K0
深圳龙华区教育局联合腾讯教育发布“龙华云校”,共同打造无边界校园新范式
1.1K0
深圳明德实验学校师生共迎网络“开学典礼” 83%师生选用腾讯课堂
4800
打通智慧教育最后一公里 百余长沙校长与腾讯共话未来校园建设
5350
全国校长沙龙在腾讯深圳总部举办:跳出边界,探寻未来教育更多可能
6620
MEET峰会大咖说| 人大附中航天城校长周建华:博士教中小学并非人才浪费
1K0
腾讯青少年科技学院:助力青少年不一样的“战疫”假期
1K0
学习科学分享会|从方法论到实战经验升级教师技能
5100
AI如何赋能教育,看完这场全球大会就知道答案
3960
腾讯教育推全新基础教育解决方案:生态协同精细化服务,全面贴合局、校、家需求
6540
18万名师在线“抢单”,江苏用1v1即时答疑弥合地域教育差异
8110
腾讯智慧校园开放生态,联手深圳明德实验学校打造标杆示范校
9360
停课不停学!深圳罗湖联手腾讯教育打造多元化防疫解决方案
4960
他们在阿佤山区学编程
7430
腾讯教育助力北师大二附中研究团队开展精准教学课题研究
6930
深圳机器人教学或将摆脱“虚拟”作战
7170
边学边测、AI现场评分!这所学校的英语听说课人均配备贴身“助教”
3.7K0
融合学科打造“有形”知识,腾讯教育携手云南探讨低门槛人工智能教育
6100
腾讯智慧校园走进上饶石人乡小学 让偏远山区师生看到农村教育希望
1.8K0
相关推荐
教育+VR,你和你孩子的课堂一定不一样!
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验