关于死锁,一直是面试和日常开发中的熟悉话题,本文将进行一下探讨: 什么是死锁 出现死锁的原因 如何避免死锁 代码中死锁问题怎么排查 @ 1. 什么是死锁 死锁是指两个或两个以上的进程或线程,在执行过程中,由于竞争资源而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去 划重点:两个或两个以上进 ...
分类:
其他好文 时间:
2020-06-14 14:30:22
阅读次数:
74
协程 本质:在单线程下,由用户自己控制一个任务遇到io阻塞了就切换另外一个任务去执行,以此来提升效率 目的:减少操作系统切换的开销,规避IO操作,将一条线程中的io操作 降到最低 定义 协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 特点: 必须在只有一个单线程里实现并发 修改共享 ...
分类:
其他好文 时间:
2020-06-14 11:05:44
阅读次数:
47
4.背景介绍 4.1.1 Netty 惊人的性能数据 通过使用 Netty(NIO 框架)相比于传统基于 Java 序列化+BIO(同步阻塞 IO)的通信框架,性能提升了 8 倍多。事 实上,我对这个数据并不感到惊讶,根据我多的 NIO 编程经验,通过选择合适的 NIO 框架,精心的设计 React ...
分类:
Web程序 时间:
2020-06-14 01:34:49
阅读次数:
75
好的,TinyWebServer我们讲了八个模块中的5个,还剩下数据库mysql模块,定时器timer模块,日记log模块。 (更新中~~~~~~) mysql模块 项目中有简单的注册和登录功能,所以要使用到数据库。那么mysql模块就是数据库相关的模块,主要的其实就是数据库连接池。 首先数据库连接 ...
分类:
编程语言 时间:
2020-06-13 19:41:42
阅读次数:
77
今天工作遇到个关于Promise的小问题,结果是自己太新手,后来解决了 如 function test() { return new Promise (resolve, reject) { reject('超时') } } 使用了await, 必须catch才能让阻塞放开 async functio ...
分类:
其他好文 时间:
2020-06-13 19:29:17
阅读次数:
68
先了解四个概念: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理, 需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API)。 阻塞 ...
分类:
Web程序 时间:
2020-06-13 19:05:32
阅读次数:
82
PHP中的curl_multi系列函数可以实现同时请求多个URL来实现并发,而不是像普通curl函数那样请求后会阻塞,直到结果返回才进行下一个请求。因此在批量请求URL时可通过curl_multi系列函数提升程序的运行效率。 curl普通请求 $startTime = microtime(true) ...
分类:
Web程序 时间:
2020-06-13 17:39:55
阅读次数:
79
1.线程同步的几种方式有哪些? synchronized修饰 、使用Lock、使用容器类如ConcurrentHashMap 等。 2.synchronized和java.util.concurrent.locks.Lock的 区别有哪些? (1)Lock必须在finnaly块中释放 ,否则,如果在 ...
分类:
其他好文 时间:
2020-06-13 00:31:02
阅读次数:
105
python使用wxpy模块提供的微信API接口实现两两群组的消息同步 安装模块: pip install wxpy 注意:需要同步的微信群需要保存到通讯录中 以下是自己闲来无事写的代码,暂时还存在以下几个问题,有能优化的大佬可以讨论下: 1.暂时同步不了大文件,测试发现超过40M的文件无法同步; ...
分类:
微信 时间:
2020-06-12 20:26:52
阅读次数:
122
synchronized锁的原理也是大厂面试中经常会涉及的问题,本文主要通过对以下问题进行分析讲解,来帮助大家理解synchronized锁的原理。 1.synchronized锁是什么?锁的对象是什么? 2.偏向锁,轻量级锁,重量级锁的执行流程是怎样的? 3.为什么说是轻量级,重量级锁是不公平的? ...
分类:
其他好文 时间:
2020-06-12 10:53:18
阅读次数:
50