草庐IT

custom-events

全部标签

观察者模式及Prism.Events.EventAggregator

观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。“订阅者”:将自己希望执行的方法在事件发布之前注册到发布者中。“发布者”:事件的发布(触发)。“发布事件”这种描述实际上描述的是调用Publisher#notifySubscribers这个函数所代表的意义。但在实际写代码时,我们考虑的是这个函数的调用时机和调用后产生的结果。何时使用当一个对象状态的改变需要改变其他对象,或实际对象是事先未知的或动态变化的时,可使用观察者模式。实现方法定义订阅者容器/发布者订阅者向订阅者容器注册(将订阅者的方法注册给订阅者容器)事件发生/事件通知/通知观察者

HDRP shader 获取阴影(Custom Pass)

环境Unity:2021.3.0f1HDRP:12.1.6以下程序均在自定义全屏通道中运行,详情示例场景如图直接光阴影应该可能是这么写吧(代码出处是Lighting\LightLoop\LightLoop.hlsl)#pragmamulti_compileSHADOW_LOWSHADOW_MEDIUMSHADOW_HIGHSHADOW_VERY_HIGH#include"Packages/com.unity.render-pipelines.high-definition/Runtime/Material/NormalBuffer.hlsl"#include"Packages/com.unit

【云原生进阶之容器】第四章Operator原理4.1节--定制资源(Custom Resource)

    《重识云原生系列》专题各章首节索引:第一章——不谋全局不足以谋一域第二章计算第1节——计算虚拟化技术总述第三章云存储第1节——分布式云存储总述第四章云网络第一节——云网络技术发展简述第六章容器6.1.1节——容器综述   《云原生进阶之容器》专题索引:第一章Docker核心技术1.1节——Docker综述

【云原生进阶之容器】第四章Operator原理4.1节--定制资源(Custom Resource)

    《重识云原生系列》专题各章首节索引:第一章——不谋全局不足以谋一域第二章计算第1节——计算虚拟化技术总述第三章云存储第1节——分布式云存储总述第四章云网络第一节——云网络技术发展简述第六章容器6.1.1节——容器综述   《云原生进阶之容器》专题索引:第一章Docker核心技术1.1节——Docker综述

linux - Linux 内核中 wait_event 和 wake_up 之间的竞争条件

我是内核新手。我在阅读源代码时遇到了这个问题。在wait_event()的实现中,内核做了这样的事情:...prepare_to_wait();/*enqueuecurrentthreadtothewaitqueue*/...schedule();/*invokedeactivate_task()inside,whichwilldequeuecurrentthreadfromtherunqueue*/...在“wake_up()”的实现中,内核做了如下工作:...try_to_wake_up();/*invokeactivate_task()inside,whichwillenqueu

linux - Linux 内核中 wait_event 和 wake_up 之间的竞争条件

我是内核新手。我在阅读源代码时遇到了这个问题。在wait_event()的实现中,内核做了这样的事情:...prepare_to_wait();/*enqueuecurrentthreadtothewaitqueue*/...schedule();/*invokedeactivate_task()inside,whichwilldequeuecurrentthreadfromtherunqueue*/...在“wake_up()”的实现中,内核做了如下工作:...try_to_wake_up();/*invokeactivate_task()inside,whichwillenqueu

c - 用 `perf record -g` 模拟 `perf_event_open`

我的目标是编写一些代码以在某个时间间隔记录所有CPU的当前调用堆栈。本质上,我想做与perfrecord相同的事情,但我自己使用perf_event_open。根据联机帮助页,我似乎需要使用PERF_SAMPLE_CALLCHAIN示例类型并使用mmap读取结果。也就是说,联机帮助页非常简洁,一些示例代码现在可以发挥很大作用。有人能指出我正确的方向吗? 最佳答案 了解这一点的最佳方法是阅读Linux内核源代码并了解如何自己模拟perfrecord-g。正如您正确识别的那样,perfevents的记录将从系统调用perf_event_

c - 用 `perf record -g` 模拟 `perf_event_open`

我的目标是编写一些代码以在某个时间间隔记录所有CPU的当前调用堆栈。本质上,我想做与perfrecord相同的事情,但我自己使用perf_event_open。根据联机帮助页,我似乎需要使用PERF_SAMPLE_CALLCHAIN示例类型并使用mmap读取结果。也就是说,联机帮助页非常简洁,一些示例代码现在可以发挥很大作用。有人能指出我正确的方向吗? 最佳答案 了解这一点的最佳方法是阅读Linux内核源代码并了解如何自己模拟perfrecord-g。正如您正确识别的那样,perfevents的记录将从系统调用perf_event_

linux - 如何更改 perf_event_open 最大采样率

我正在使用perf_event_open获取样本。我试着让每个人都说到点子上。但是perf_event_open不够快。我尝试使用以下命令更改采样率:echo10000000>/proc/sys/kernel/perf_event_max_sample_rate但是看起来我设置的值太大了。运行我的代码后,perf_event_max_sample_rate变回较低的值,例如12500。当我尝试更改更大的值时,例如20000000、50000000等,采样速度不会随着我更改的值而增加。有什么方法可以更快地改变perf_event_open采样速度吗? 最佳答案

linux - 如何更改 perf_event_open 最大采样率

我正在使用perf_event_open获取样本。我试着让每个人都说到点子上。但是perf_event_open不够快。我尝试使用以下命令更改采样率:echo10000000>/proc/sys/kernel/perf_event_max_sample_rate但是看起来我设置的值太大了。运行我的代码后,perf_event_max_sample_rate变回较低的值,例如12500。当我尝试更改更大的值时,例如20000000、50000000等,采样速度不会随着我更改的值而增加。有什么方法可以更快地改变perf_event_open采样速度吗? 最佳答案