我们循环大多数是用的foreach,这种方法是串行,也就是单线程,而Parallel.ForEach指的是并行,也就是多线程。 在循环迭代时,并不是用并行时间越短,下面是一个测试实例,分别用串行和并行循环150W条数据 using System; using System.Collections; ...
单线程同步 使用socket传输数据 使用json序列化消息体 struct将消息编码为二进制字节串,进行网络传输 消息协议 1 // 输入 2 { 3 in: "ping", 4 params: "ireader 0" 5 } 6 7 // 输出 8 { 9 out: "pong", 10 res ...
分类:
编程语言 时间:
2020-07-05 10:54:57
阅读次数:
86
前言 一个人至少拥有一个梦想,有一个理由去坚强。 一、httpx模块是什么? 一个用于http请求的模块,类似于requests、aiohttp; 既能发送同步请求(是指在单进程单线程的代码中,发起一次请求后,在收到返回结果之前,不能发起下一次请求),又能发送异步请求(是指在单进程单线程的代码中,发 ...
分类:
编程语言 时间:
2020-07-05 01:05:18
阅读次数:
103
垃圾收集器 Serial收集器 ? 这个收集器是一个单线程工作的收集器,“单线程”不仅仅是说它只会使用一个处理器或一条收集线程去完成垃圾收集工作,更重要的是强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。迄今为止,它依然是HotSpot虚拟机运行在客户端模式下的默认新生代收集器, ...
分类:
其他好文 时间:
2020-07-04 17:04:52
阅读次数:
48
前言 NioEventLoop的run方法,是netty中最核心的方法,没有之一。在该方法中,完成了对已注册的channel上来自底层操作系统的socket事件的处理(在服务端时事件包括客户端的连接事件和读写事件,在客户端时是读写事件)、单线程任务队列的处理(服务端的注册事件、客户端的connect ...
分类:
Web程序 时间:
2020-07-04 15:01:42
阅读次数:
67
js是单线程脚本语言,开发中了解代码执行顺序就显得格外重要,代码从上往下执行过程中 如果所有都是同步任务,将会造成严重的性能问题。 异步分为宏任务和微任务 宏任务(MacroTask) script全部代码、setTimeout、setInterval、setImmediate(浏览器暂时不支持,只 ...
分类:
其他好文 时间:
2020-07-03 15:13:44
阅读次数:
70
最近,又重新学习了下Redis,深深被Redis的魅力所折服,我才知道Redis不仅能快还能慢(我想也这么优秀o(╥﹏╥)o),简直是个利器呀。 咳咳咳,大家不要误会,本文很正经的啦! 好了,接下来回到我们的话题,我们都知道Redis是一种基于内存的单进程单线程数据库(Redis6.0开始之后支持多 ...
分类:
其他好文 时间:
2020-07-02 09:18:36
阅读次数:
72
针对新生代的GC复制算法和老年代的GC标记-整理算法,jvm针对新生代和老年代分别提供了不同的垃圾收集器 新生代: Serial,ParNew, ParallelScavenge 老年代:CMS,SerialOld(MSC),ParallelOld 从新生代介绍起: 1.Serial 垃圾收集器(单 ...
分类:
其他好文 时间:
2020-07-01 23:52:59
阅读次数:
79
一、什么是线程封闭 在多线程编程中,在对共享的数据进行访问时,通常需要进行同步。一种避免使用同步的方式就是不共享数据。如果仅仅只是在单线程内访问数据,那么就不需要进行同步。这种技术就叫做线程封闭(Thread Confinement),这是实现线程安全性的最简单方式之一。某个对象封闭在一个线程中时, ...
分类:
编程语言 时间:
2020-07-01 23:42:45
阅读次数:
67
1、首先redis是单线程的,为什么redis会是单线程的呢?从redis的性能上进行考虑,单线程避免了上下文频繁切换问题,效率高;从redis的内部结构设计原理进行考虑,redis是基于Reactor模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handl ...
分类:
编程语言 时间:
2020-07-01 17:30:37
阅读次数:
89