谈到多线程就不得不谈到Synchronized,很多同学只会使用,缺不是很明白整个Synchronized的底层实现原理,这也是面试经常被问到的环节,比如: synchronized的底层实现原理 synchronized锁与JVM的实现 synchronized锁升级顺序 synchronized ...
分类:
编程语言 时间:
2020-05-08 09:17:04
阅读次数:
66
Win10 在休眠中执行计划任务 1.启用 电池的 唤醒定时器 win 搜索 编辑电源计划 更改 高级电源设置 睡眠 允许使用唤醒定时器 2.设置计划任务 我的电脑 管理 任务计划程序 任务计划程序库 创建任务 / 创建 基本任务 常规: 只在用户登录时运行 使用最高权限运行 条件: 唤醒计算机运行 ...
二、线程间定制化调用通信 要使多线程之间按顺序调用,实现A->B->C按顺序输出,使用Lock锁实现,通过Lock锁创建三个Condition实例(三把钥匙),通过不同的条件,调用不同钥匙的awite()跟singnal()方法,阻塞或唤醒其他线程 代码实现: package com.jenne.m ...
分类:
编程语言 时间:
2020-05-06 20:03:21
阅读次数:
78
一、什么是阻塞队列 阻塞队列是一个队列,在数据结构中起的作用如上图;当队列是空的,从队列中获取元素的操作将会被阻塞;当队列是满的,从队列中添加元素的操作将会被阻塞 1.为什么需要BlockingQueue: 好处是我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切BlockingQ ...
分类:
其他好文 时间:
2020-05-06 09:14:13
阅读次数:
71
正文 wait:Object类的方法。作用是挂起当前线程,释放获取到的锁,直到别的线程调用了这个对象的notify或notifyAll方法。 notify:Object类的方法。作用是唤醒因调用wait挂起的线程,如果有过个线程,随机唤醒一个。 notifyAll:Object类的方法。作用是唤醒全 ...
分类:
其他好文 时间:
2020-05-05 23:31:30
阅读次数:
65
等待与唤醒机制 1、线程间通信 概念:多线程在处理同一个资源,但是处理的动作却不相同。 为什么处理线程间通信? 多线程并发执行时,在默认情况下CPU是随机切换线程的,当我们需要多线程来共同完成一件任务,并且我们希望他们有规律的执行,那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数 ...
分类:
其他好文 时间:
2020-05-05 19:40:23
阅读次数:
59
最近自己写了一个线程池。 总的来说,线程池就是有一个任务队列,一个线程队列,线程队列不断地去取任务队列中的任务来执行,当任务队列中为空时,线程阻塞等待新的任务添加过来。 我是用queue来存放任务,vector存放thread*,然后用condition_variable 来设置线程阻塞和唤醒。 下 ...
分类:
编程语言 时间:
2020-05-03 15:02:49
阅读次数:
314
1、Nginx是什么: Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务。 2、常见的HTTP服务: HTTPD(Apache基金会);IIS(微软);GWS(Google),目前Nginx市场占有率越来越大。 3、Nginx优势:IO多路复用;轻量级;CPU亲和;sendfile工作机 ...
分类:
其他好文 时间:
2020-05-01 13:03:47
阅读次数:
64
一、硬盘数据库的工作模式: 二、内存数据库的工作模式 三、Redis到底有多快 四、Redis为什么这么快 首先介绍下硬盘数据库和Redis的工作模式 一、硬盘数据库的工作模式: 需要先从数据读取数据到内存,内存中的数据保存到硬盘,我们更改硬盘的数据后在保存到数据库。这里的步骤较多,而且还占用我们的 ...
分类:
其他好文 时间:
2020-04-30 17:47:30
阅读次数:
67
在Intel i386 CPU中,提供了TSS与TR用于任务切换,但是Linux出于效率的考虑自己实现了任务切换。但Linux内核还是使用了TSS,用于完成系统堆栈空间的自动切换(从用户空间进入系统空间时的堆栈切换)。 进程调度与切换 三种不同应用的需求:交互式,批处理,实时 调度政策:内核为系统中 ...
分类:
系统相关 时间:
2020-04-30 17:25:02
阅读次数:
79