我们先来看一个问题:有两个线程,子线程先执行10次,然后主线程执行5次,然后再切换到子线程执行10,再主线程执行5次……如此往返执行50次。看完这个问题,很明显要用到线程间的通信了,先分析一下思路:首先肯定要有两个线程,然后每个线程中肯定有个50次的循环,因为每个线程都要往返执行任务50次,主线程的任务是执行5次,子线程的任务是执行10次。线程间通信技术主要用到wait()方法和notify()方
分类:
编程语言 时间:
2020-11-10 11:37:35
阅读次数:
27
先列出我的测试代码: 1 public static Object loc=new Object(); 2 3 public static void main(String[] args) throws Exception{ 4 5 Thread t1=new Thread(new Runnable ...
分类:
编程语言 时间:
2020-11-08 16:50:52
阅读次数:
19
基于LVS负载均衡群集来实现Keepalived的部署 目录 摘要 一、Keepalived案例分析 二、Keepalived工具介绍 三、Keepalived实现原理剖析 四、Keepalived案例讲解 4.1、双机热备的故障切换是由虚拟IP地址来实现,适用于各种应用服务器 4.2、实现基于We ...
分类:
其他好文 时间:
2020-11-07 16:15:30
阅读次数:
20
背景用两个线程交替输出A-Z和1-26,即一个线程输出A-Z,另一个线程输出1-26而且是交替形式线程1输出A——线程二输出1线程1输出B——线程二输出2线程1输出C——线程二输出3以此类推分析主要考察线程之间的通信,思路就是创建两个线程在一个线程输出一个内容之后,自己进入阻塞,去唤醒另一个线程另一个线程同样,输出一个内容之后,自己进入阻塞,去唤醒另一个线程代码实现
分类:
编程语言 时间:
2020-10-30 12:04:11
阅读次数:
15
前言恭喜你发现了一条通往大厂的"捷径",别问我整理了多久,现在的黑眼圈都和大熊猫一模一样了,头皮也挺凉快的,防脱发洗发水可以推荐一下
分类:
其他好文 时间:
2020-10-22 22:40:52
阅读次数:
26
Keepalived是Linux下面实现VRRP备份路由的高可靠性运行软件,能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接 部署过程 两台机器安装nginx和keepalived 192.168.10.130 node 192.168.10.140 node 192.168.10.120 V ...
分类:
其他好文 时间:
2020-10-16 11:29:20
阅读次数:
41
LVS+KeepAlived+Nginx高可用实现方案 文章目录 概念 LVS KeepAlived 为什么要使用 准备 软件安装 KeepAlived 安装 源码安装 yum安装 服务启动、重启、关闭 安装ipvsadm nginx安装 防火墙(iptables) 防火墙配置(方式一) 防火墙配置 ...
分类:
其他好文 时间:
2020-10-13 17:45:12
阅读次数:
27
序言上一节我们学习了异步查询转同步的7种实现方式,今天我们就来学习一下,如何对其进行封装,使其成为一个更加便于使用的工具。思维导图如下:拓展阅读java手写并发框架(1)异步查询转同步的7种实现方式异步转同步的便利性实现方式循环等待wait¬ify使用条件锁使用CountDownLatch使用CyclicBarrierFutureSpringEventListener上一节我们已经对
分类:
编程语言 时间:
2020-10-13 17:24:06
阅读次数:
101
序言上一节我们学习了异步查询转同步的7种实现方式,今天我们就来学习一下,如何对其进行封装,使其成为一个更加便于使用的工具。思维导图如下:拓展阅读java手写并发框架(1)异步查询转同步的7种实现方式异步转同步的便利性实现方式循环等待wait¬ify使用条件锁使用CountDownLatch使用CyclicBarrierFutureSpringEventListener上一节我们已经对
分类:
编程语言 时间:
2020-10-13 17:23:53
阅读次数:
32
本文旨在理一下vue中diff算法的主要逻辑和关键细节。 从一个简单的demo切入: p标签渲染一个items数组 {{ item }} 复制代码 先把实际顺序说明: items数据发生变化 Dep.notify patch(oldVNode, vnode, ...) patchVnode(oldV ...
分类:
编程语言 时间:
2020-10-08 18:57:45
阅读次数:
23