Thread与Task区别 任务可以返回结果,没有直接的机制可以从线程返回结果。 任务通过使用取消令牌来支持取消,但是线程没有。 一个任务可以同时执行多个线程,线程一次只能运行一个任务。 可以使用async和await关键字轻松实现异步。 新的Thread不处理线程池线程,而Task确实使用线程池线 ...
分类:
其他好文 时间:
2020-07-20 10:22:17
阅读次数:
102
在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。下面总结的对这些术语的理解: 同步(Sync) 同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式; 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用( ...
分类:
其他好文 时间:
2020-07-19 23:54:33
阅读次数:
71
面试官问到,阻塞线程有几种方法? 你可以这么扩展的讲。 4种方法,从是否释放锁资源的角度来说,locksupport.park(),thread.sleep()不会是否锁资源, condition.await()/object.wait()会释放锁资源。接下来按照下图,讨论区别 ...
分类:
编程语言 时间:
2020-07-19 21:12:16
阅读次数:
60
进程的三状态及进程调度算法算法 在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 (1)就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态 ...
分类:
编程语言 时间:
2020-07-19 16:29:52
阅读次数:
51
5 MVCC ? 全称是Multi-Version Concurrent Control,即多版本并发控制,在MVCC协议下,每个读操作会看到一个一致性的snapshot,并且可以实现非阻塞的读。MVCC允许数据具有多个版本,这个版本可以是时间戳或者是全局递增的事务ID,在同一个时间点,不同的事务看 ...
分类:
Web程序 时间:
2020-07-18 19:54:39
阅读次数:
86
高级特性 简单消息队列 可以用list的rpush+lpop实现简单的消息队列功能(用blpop可以阻塞连接直到有消息时才返回) 发布订阅模式 消费者通过subscribe订阅一个频道,生产者通过publish发布消息到频道,实现多条发布。 通过unsubscribe取消订阅。 订阅的频道可以用通配 ...
分类:
其他好文 时间:
2020-07-17 22:07:32
阅读次数:
87
什么是大事务 运行时间比较长,长时间未提交的事务就可以称为大事务 大事务产生的原因 操作的数据比较多 大量的锁竞争 事务中有其他非DB的耗时操作 。。。 大事务造成的影响 并发情况下,数据库连接池容易被撑爆 锁定太多的数据,造成大量的阻塞和锁超时 执行时间长,容易造成主从延迟 回滚所需要的时间比较长 ...
分类:
其他好文 时间:
2020-07-17 16:08:01
阅读次数:
103
官网 https://nodejs.org/en/ 用处 开发网站后台 开发本地工具、应用 特点 事件驱动、非阻塞式IO的模型 强大的生态npm 对于特点的个人理解 生活例子,银行办理业务 1V1 VIP服务 与 取号等待叫号 涉及的概念 计算密集型(VIP服务):大量的计算、消耗CPU资源(算圆周 ...
分类:
Web程序 时间:
2020-07-17 01:25:27
阅读次数:
115
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等这篇文章主要记录,造成查询数量不大的情况下,造成查询缓慢的原因,以及相应的解决方法。环境说明:MySQL版本5.7.27隔离级别:RR锁等待造成查询速度很慢MDL锁如开启如下事务:SessionA持有表tMDL写锁。SessionB需要MDL读锁。这时读写锁互斥,SessionB被阻塞。flush阻塞flush操作一般来说很快
分类:
其他好文 时间:
2020-07-16 12:14:03
阅读次数:
99
线程礼让(yield) 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看CPU心情 //测试礼让线程 //礼让不一定成功,看CPU心情 public class TestYield { public static void main(S ...
分类:
编程语言 时间:
2020-07-16 00:13:07
阅读次数:
77