单线程的人什么意思 在什么情况下单线程比多线程效率高?
在什么情况下单线程比多线程效率高?1. 多线程有线程切换的代价。如果执行时间短,线程切换将浪费时间2。当存在资源争用时,多线程往往会导致锁定,消耗资源一般来说,单线程的处理能力比多线程差,但redis
在什么情况下单线程比多线程效率高?
1. 多线程有线程切换的代价。如果执行时间短,线程切换将浪费时间
2。当存在资源争用时,多线程往往会导致锁定,消耗资源
一般来说,单线程的处理能力比多线程差,但redis为什么更快主要是因为以下原因:
1。纯内存访问,redis将所有的数据都放在内存中,而内存的响应时间约为100纳秒,这是redis达到每秒10000次的水平的重要基础。
2. 非阻塞io。Redis使用epoll作为I/O复用技术的实现。此外,redis自己的事件处理模型将epoll中的连接、读写和关闭转换为事件,不会在网络I/O上浪费太多时间。单线程避免了线程切换和争用的消耗。
单线程的优点:1。简化了数据结构和算法的实现。
2. 避免线程切换和争用的消耗。对于服务器,锁和线程切换通常是性能杀手。
单线程问题:每个命令的执行时间都有要求。如果执行一个命令,它将阻止其他命令,这对高性能服务redis是致命的。因此,redis是一个用于快速执行场景的数据库。