异步代码 ASP.NET Core和EF Core的默认使用异步编程。 Web 服务器的可用线程数量有限,在高负载情况下,所有可用线程都可能都在使用。 当发生这种情况时,服务器无法处理新的请求,直到线程被释放。 使用同步代码时,许多线程可能会被绑定,而实际上它们并没有做任何工作,因为它们正在等待 I ...
分类:
Web程序 时间:
2020-08-25 15:41:06
阅读次数:
61
4.单例模式(面试)1.介绍单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。2.示例1.懒汉式,线程不安全这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。
分类:
其他好文 时间:
2020-08-20 18:29:20
阅读次数:
55
2020.08.05 1、多线程 2、IPC、共享内存 3、bind 4、合并n个有序链表 (力扣原题 使用最小堆会快一些) #include <queue> using namespace std; struct ListNode { int val; ListNode* next; ListNo ...
分类:
其他好文 时间:
2020-08-20 18:20:10
阅读次数:
118
多线程相关 1. 进程与线程 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程是比进程更小的执行单位,一个进程在其执行的过程中可以产生多个线程。线程共享进程的堆和方法区的资源,同时线程还有私有的程序计数器、虚拟机栈和本 ...
分类:
编程语言 时间:
2020-08-19 19:26:10
阅读次数:
60
1.为什么要使用锁? 1.1首先说明两个定义: 进程:程序启动,进入内存,资源分配的基本单位 线程:程序执行的基本单元,程序执行的基本单位 1.2程序如何开始运行? Cpu读指令 pc(程序计数器,存储指令地址) 读数据 Register 计算,回写 下一条 1.3多线程带来的问题: 多线程是指一个 ...
分类:
编程语言 时间:
2020-08-19 19:24:43
阅读次数:
66
EventLoop详解 一、什么是EventLoop? 想要了解event loop我们就要从js的工作原理说起。首先,大家都知道js是单线程的。所谓单线程就是进程中只有一个线程在运行。那么,js为什么是单线程而不是做成多线程的呢?个人理解,js是用来实现浏览器与用户之间的交互的。如果同时要处理用户 ...
分类:
其他好文 时间:
2020-08-17 17:13:33
阅读次数:
71
public static void main(String[] args) { new Thread(() -> System.out.println(Thread.currentThread().getName())).start(); } ...
分类:
编程语言 时间:
2020-08-17 17:13:11
阅读次数:
61
创建线程与join() #include<iostream> #include<thread> using namespace std; void proc() { cout << "我是子线程" << endl; } int main() { thread th2(proc); th2.join( ...
分类:
编程语言 时间:
2020-08-17 16:41:39
阅读次数:
74
我们知道,单个线程计算是串行的,只有等上一个任务结束之后,才能执行下一个任务,所以执行效率是比较低的。那么,如果用多线程执行任务,就可以在单位时间内执行更多的任务,而Master-Worker就是多线程并行计算的一种实现方式。它的思想是,启动两个进程协同工作:Master和Worker进程。Master负责任务的接收和分配,Worker负责具体的子任务执行。每个Worker执行完任务之后把结果返回
分类:
其他好文 时间:
2020-08-17 16:40:21
阅读次数:
52
在java语言中,可以通过new Thread的方法来创建一个新的线程执行任务,但是线程的创建是非常耗时的,而且创建出来的新的线程都是各自运行,缺乏统一的管理,这样做的后果可能是导致创建过多线程从而过度消耗系统资源,最终导致性能急剧下降,线程池的引入就是为了解决这个问题。 当使用线程池控制线程数量时 ...
分类:
系统相关 时间:
2020-08-15 22:30:04
阅读次数:
79