摘要:
提升陪玩源码可读性,这两种方式很关键 第一种,使用常量 直接将status所有可能的值用常量值代替 NO_FINISH = 0 LEARNING = 1 FINISH = 2 EXPRIED = 3 if status== NO_FINISH: pass elif status==LEARNING: 阅读全文
摘要:
一对一视频直播源码,利用枚举提升代码的可读性 枚举(Enum)是Python自带的特性,用来定义有多个有限值时是绝佳的应用场景。先定义了状态枚举类 import enum class StudyStatusEnum(enum.Enum): no_start = 0 # 未开始 learning = 阅读全文
摘要:
一对一直播平台源码,该扩容时就扩容 Redis的扩容步骤 当一旦需要进行扩容时,此时会使用到dict中的ht[1],一对一直播平台源码的Redis的扩容步骤如下所示。 1、计算ht[1]的容量size,即扩容后的容量,ht[1]的容量为大于等于ht[0].used * 2且同时为2的幂次方的最小值; 阅读全文
摘要:
一对一聊天源码,你是否了解ERedis的扩容机制? Redis的扩容时机 Redis会在如下两种情况触发扩容。 1、如果没有fork子进程在执行RDB或者AOF的持久化,一旦满足ht[0].used >= ht[0].size,此时触发扩容;2、如果有fork子进程在执行RDB或者AOF的持久化时, 阅读全文
摘要:
1v1视频源码,你知道如何实现多线程的顺序执行吗? 1、在子线程中通过join()方法指定顺序 通过join()方法使当前线程“阻塞”,等待指定线程执行完毕后继续执行。 举例:在线程thread2中,加上一句thread1.join(),其意义在于,当前线程2运行到此行代码时会进入阻塞状态,直到线程 阅读全文
摘要:
视频通话源码,使用线程池的两大要点分析:1、实现动态调整线程池参数2、对线程池运行情况进行监控 一,线程池可调整的参数 1、核心线程数2、超时时间3、最大线程数4、拒绝策略 而队列BlockingQueue因为是final类型,所以没有对外修改入口。但可以通过重写LinkedBlockingQueu 阅读全文
摘要:
1v1直播源码,保证请求时序的两种常用方法 在1v1直播源码中经常遇到请求输入查找场景,防抖与截流很好处理了频繁输入问题,但是不能解决最先发起请求结果后返回,覆盖了最后一次的搜索结果,导致搜索结果不正确。我总结一下自己常用的两种方法。 一、使用时间戳来过滤返回结果如果请求回调函数中的时间戳小于当前时 阅读全文
摘要:
1对1视频聊天源码,优化后的缓存使用效果更好缓存是提升1对1视频聊天源码的有效方法之一,尤其是用户受限于网速的情况下,可以提升系统的响应能力,降低网络的消耗。当然,内容越接近于用户,则缓存的速度就会越快,缓存的有效性则会越高。 不过,在1对1视频聊天源码的某些特定场景下缓存还需要优化,例如:用户需要 阅读全文
摘要:
一对一平台制作,如何实现文本超出显示为省略号?① 第一步: 溢出隐藏 —— overflow: hidden;② 第二步:用省略号来代表未显示完的文本 ——text-overflow: ellipsis;③ 第三步:必须设置盒子属性为-webkit-box——display: -webkit-box 阅读全文
摘要:
一对一视频聊天源码,领悟数据去重的多种方式 // 例 var arr = [ 1, 1, 'true', 'true', true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, 'NaN', 0, 0 阅读全文