ICode9

精准搜索请尝试: 精确搜索
  • Linux内核机制—rwsem2022-06-05 04:01:45

    基于linux-5.10.66 一、相关结构 1. rwsem 表示结构体 struct rw_semaphore /* * 对于无竞争的 rwsem,count 和 owner 是任务在获取 rwsem 时需要触及的唯一字段。 * 因此,它们彼此相邻放置,以增加它们共享相同cacheline的机会。 * * 在竞争 rwsem 中,owner 可能是此结构中最常访

  • Spark 源码系列 - DAGScheduler -> runJob2022-05-29 11:03:29

    目录结论DAGScheduler -> runJobDAGScheduler -> submitJob 结论 DAGScheduler -> runJob def runJob[T, U]( val waiter = submitJob(rdd, func, partitions, callSite, resultHandler, properties) DAGScheduler -> submitJob 将this, 新生成的jobid, 分区数 生成对象 JobWa

  • Java学习:实际应用场景中的多线程没有start()解决方法2022-03-01 20:02:42

    今天在做多线程练习的时候,参考资料给的是使用extends继承Thread类的方式创建的子类对象,天然带有start()方法 题目如下: /** * 生产者-消费者问题 * 生产者最多生产20个产品,生产完就得等待 * 交由服务员来调度生产者和消费者 * 消费者没有能消费产品的时候,等待 **/ 但是我本人是使

  • docker容器相关2022-02-23 09:03:04

    查看镜像 docker images REPOSITORY TAG IMAGE ID CREATED SIZE springbucks/waiter-service 0.0.1-SNAPSHOT e1988342d3af 8 hours ago 683MB java 8 d23bdf5b1b1b 5 years ago

  • Qt 按钮随机移动并触发信号2022-01-18 13:03:52

    按钮随即移动,并再点击按钮的是可触发信号,执行槽,发起服务员与顾客的对话,并判断对象释放顺序 //main()主函数 #include <widget.h> #include <QApplication> #include<time.h> int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; srand(time

  • Go的WaitGroup源码分析2022-01-09 03:00:08

    WaitGroup 是开发中经常用到的并发控制手段,其源代码在 src/sync/waitgroup.go 文件中,定义了 1 个结构体和 4 个方法: WaitGroup{}:结构体。 state():内部方法,在 Add()、Wait() 中调用。 Add():添加任务数。 Done():完成任务,其实就是 Add(-1)。 Wait():阻塞等待所有任务的完成。 以下源

  • Balking Design Pattern2021-09-29 20:57:54

    文章目录 前言一、Balking Design Pattern概述二、代码示例1.共享资源2.顾客线程(消费者)3.服务员线程4.客户端5.执行结果 前言 想一下,日常生活中,会有这样一个场景:去海底捞吃饭,海底捞的服务服务员都是服务很周到、很热情的。你的酒杯里没有酒了,他会自动上去服务。可能会

  • WaitGroup源码解读2021-06-30 16:29:58

    WaitGroup 针对场景 需要多个子Goroutine执行任务,主Goroutine需要等待子Goroutine执行完后才能继续执行 源码解读 type WaitGroup struct { noCopy noCopy //辅助字段,辅助vet工具检测是否有复制使用 // 64-bit value: high 32 bits are counter, low 32 bits are waite

  • 利用Proxy.newProxyInstance实现AOP2021-03-02 23:56:46

    newProxyInstance()方法介绍Proxy类的newInstance()方法有三个参数:ClassLoader loader:它是类加载器类型,你不用去理睬它,你只需要知道怎么可以获得它就可以了:MyInterface.class.getClassLoader()就可以获取到ClassLoader对象,没错,只要你有一个Class对象就可以获取到ClassLoader对象;Cla

  • 为啥厨师和服务员会打架?--多线程通信问题之生产者和消费者2021-02-28 22:30:48

    概念 是一个典型的多线程通信问题,当生产者生产时,消费者进行休眠;当生产者结束生产,唤醒消费者进行消费,生产者休眠。 在线程调用的类中需要使用同步方法关键字synchronized,这是为了防止两个线程同时使用方法,调用同一个对象中的属性。 实例代码 代码中主要有两个线程,一个叫Cook,一

  • SpringMVCController-Spring阶段学习笔记012021-01-20 10:32:04

    学习笔记@玩转Spring全家桶 第六章SpringMVCController认识SpringMVC常用@注解程序代码推荐工具 课程内容来自极客时间玩转Spring全家桶,侵私删,链接如下 https://time.geekbang.org/course/intro/100023501 第六章 SpringMVCController 认识SpringMVC SpringMVC的核心是

  • Java_多线程_并发协作模型_生产者消费者模式_信号灯法2019-08-23 19:04:28

    package cn.thread4; /** * 并发协作模型 * 生产者消费者实现方式之一 * 信号灯法 * 没有缓冲容器,不可以实现存量生产消费,现做现卖,没存货或者认为短暂存货1 * @author Chill Lyn * */ public class SignalLampMethod { public static void main(String[] args) {

  • 动态代理的介绍2019-08-04 23:54:16

    关于动态代理的操作 一、关于动态代理。     1.动态代理:只学一个方法 方法的作用:在运行时,动态创建一组指定的接口的实现类对象!(在运行时,创建实现了指定的一组接口的对象) 2.动态代理的方法:Object proxyObject = Proxy.newProxyInstance(ClassLoader classLoader, Class[] interfac

  • spring AspectJ的Execution表达式2019-07-03 10:26:33

    在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  execution (* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示:  整个表达式可以分为五个部分:  1、execution(): 表达

  • C++_代码重用4-多重继承2019-02-23 12:41:42

    继承使用时要注意,默认是私有派生。所以要公有派生时必须记得加关键字Public。 MI(Multi Inheritance)会带来哪些问题?以及如何解决它们? 两个主要问题:        从两个不同的基类继承同名方法;        从两个或更多相关基类那里继承同一个类的多个实例; 虚方法 Worker公有派生

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有