回调函数

【原创】Linux cpu hotplug

旧街凉风 提交于 2019-11-28 06:21:28
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器 使用工具:Source Insight 3.5, Visio 1. 介绍 Linux CPU热插拔,支持在系统启动后,关闭任意一个 secondary cpu (在ARM架构中,CPU0为 boot cpu ,不能被关闭),并在需要时重新打开它。 CPU-hotplug 的一个用处是,支持SMP的 Suspend 和 Resume ,这个也是我看 CPU-hotplug 的原因。 代码路径: include/linux/cpuhotplug.h kernel/cpu.c kernel/smpboot.c arch/arm64/kernel/smp.c 2. 数据结构 关键的数据结构有三种,如下图所示: struct cpuhp_cpu_state :用来存储hotplug的状态; enum cpuhp_state :枚举各种状态,这个会对应到全局数组中的某一项,而该项中会定义回调函数。当然,也可以通过函数接口来设置回调函数。 struct cpuhp_step :Hotplug state machine step,主要定义了函数指针

$ajax

大城市里の小女人 提交于 2019-11-28 06:12:14
1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。 4.async: 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。 5.cache: 要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。 6.data: 要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:[

$.ajax()方法

南楼画角 提交于 2019-11-28 05:43:04
1.url : 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type : 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。 3.timeout : 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。 4.async : 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。 5.cache : 要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。 6.data : 要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo

【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick

末鹿安然 提交于 2019-11-28 05:37:48
【摘要】 官网博文翻译,nodejs中的定时器 示例代码托管在: http://www.github.com/dashnowords/blogs 原文地址: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick 如果你常年游走于 Nodejs中文网 ,可能已经错过了官方网站上的第一手资料, Nodejs中文网 并没有翻译这些非常高质量的核心文章,只提供了中文版的API文档(已经很不容易了,没有任何黑它的意思,我也是中文网的受益者),它们涵盖了Node.js中从核心概念到相关工具等等非常重要的知识,下面是博文的目录,你知道该怎么做了。 Event Loop 是什么? 事件循环是 Node.js 能够实现非阻塞I/O的基础,尽管JavaScript应用是单线程运行的,但是它可以将操作向下传递到系统内核去执行。 大多数现代系统内核都是支持多线程的,它们可以同时在后台处理多个操作。当其中任何一个任务完成后,内核会通知 Node.js ,这样它就可以把对应的回调函数添加进 poll 队列,回调函数最终就能够被执行,后文中我们还会进行更详细的解释。 Event Loop 基本解释 当 Node.js 开始运行时,它就会初始化 Event Loop ,然后处理脚本文件(或者在 REPL ( read-eval-print

JS使用forEach()方法遍历数组

落爺英雄遲暮 提交于 2019-11-28 05:21:39
使用forEach()方法遍历数组 1.参数 forEach()方法有一个参数,是一个回调函数的引用,每访问一个元素,调用一次回调函数 2.回调函数的参数 第一个参数,表示当前遍历的元素 第二个参数,表示当前遍历的元素的索引(下标) 第三个参数,表示当前正在遍历的数组 3.举例 var array = [5, 3, 2, 8, 5, 6, 4, 7]; array.forEach(function(value, index, array){ if(index == 0){//仅在访问第一个元素时 console.log("array : " + array); } console.log(index + " : " + value); }); 来源: https://blog.csdn.net/qq2071114140/article/details/100012568

Ajax的技术与原理探讨

眉间皱痕 提交于 2019-11-28 05:02:57
一 Ajax技术与原理 1.1 Ajax简介 1.2 Ajax所包含的技术 1.3 Ajax的工作原理 1.4 XMLHttpRequest 对象的三个常用的属性 1. onreadystatechange 属性 2. readyState 属性 3. responseText 属性 1.5 xmlhttprequst的方法 1. open() 方法 2. send() 方法 二 Ajax编程步骤 2.1 创建XMLHttpRequest对象 2.2 设置请求方式 2.3 调用回调函数 2.4 发送请求 三、应用实例 一 Ajax技术与原理 1.1 Ajax简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。 1.2 Ajax所包含的技术 大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。 1.使用CSS和XHTML来表示。 2. 使用DOM模型来交互和动态显示。 3.使用XMLHttpRequest来和服务器进行异步通信。 4.使用javascript来绑定和调用。 AJAX 的核心是 XMLHttpRequest 对象。

自定义滚动条mCustomScrollbar

馋奶兔 提交于 2019-11-28 04:57:54
mCustomScrollbar 是个基于 jQuery UI 的自定义滚动条插件,它可以让你灵活的通过 CSS 定义网页的滚动条,并且垂直和水平两个方向的滚动条都可以定义,它通过 Brandon Aaron jquery mouse-wheel plugin 提供了鼠标滚动的支持,并且在滚动的过程中,还可以缓冲滚动使得滚动更加的平滑,还可以自动调整滚动条的位置和定义滚动到的位置等。(HTML必须存在于文档流, 不能为display:none) 1.如何使用 mCustomScrollbar(必须要加载如下的4个文件) jquery.mCustomScrollbar.js jquery.mousewheel.min.js jquery.mCustomScrollbar.css mCSB_buttons.png jQuery:这个插件的必备库 jQuery UI:扩展 jQuery 库并且为我们的滚动条提供了简单的动画和拖动功能。 jquery.mousewheel.min.js:这是 Brandon Aaron 编写的一个伟大的只有2kb的插件,它面向所有的操作系统和浏览器,为我们提供了鼠标滚动事件的支持。 jquery.mCustomScrollbar.js:这是我们的插件主文件。在插件包的 minified 你可以找到它的压缩版。 jquery.mCustomScrollbar

Express 路由

ぃ、小莉子 提交于 2019-11-28 03:01:51
路由 路由 是指应用程序的端点(URI)如何响应客户端请求。 有关路由的介绍,请参阅 基本路由 。 您可以使用Express app 对象的 方法定义路由,这些方法 对应于HTTP方法; 例如, app.get() 处理GET请求和 app.post 处理POST请求。 有关完整列表,请参阅 app.METHOD 。 您还可以使用 app.all() 来处理所有HTTP方法,并使用 app.use() 将中间件指定为回调函数(有关 详细信息, 请参阅 使用中间件 )。 这些路由方法指定当应用程序收到对指定路由(端点)和HTTP方法的请求时调用的回调函数(有时称为“处理函数”)。 换句话说,应用程序“侦听”与指定路由和方法匹配的请求,并且当它检测到匹配时,它将调用指定的回调函数。 实际上,路由方法可以有多个回调函数作为参数。 使用多个回调函数时,重要的是提供 next 回调函数的参数,然后 next() 在函数体内 调用 以将控制权移交给下一个回调函数。 以下代码是一个非常基本的路由示例。 var express = require('express') var app = express() // respond with "hello world" when a GET request is made to the homepage app.get('/', function

UI 组件 | Toggle

别来无恙 提交于 2019-11-28 02:56:48
Toggle(复选框)组件 Toggle 是一个 CheckBox,当它和 ToggleGroup 一起使用的时候,可以变成 RadioButton。 创建 Toggle 组件 层级管理器右击->创建节点->创建 UI 节点->Toggle 即可创建 Toggle 组件。 节点说明 Toggle 组件的节点树一般为: 注:checkmark 在层级结构上要在 Background 上面,或者是 Background 的子节点。 属性介绍 创建成功后,属性面板可以看到 Toggle 组件特有的属性,下面对这些属性一一介绍: 属性 功能说明 Target Node 类型,当 Toggle 发生 Transition 的时候,会相应地修改 Target 节点的 SpriteFrame,颜色或者 Scale。 interactable 布尔类型,设为 false 时,则 Toggle 组件进入禁用状态。 Transition 枚举类型,包括 NONE, COLOR,SPRITE 和 SCALE。每种类型对应不同的 Transition 设置。详情见下方的 Toggle Transition 部分。 isChecked 布尔类型,如果这个设置为 true,则 check mark 组件会处于 enabled 状态,否则处于 disabled 状态。 checkMark cc.Sprite

.NET Socket开发之异步Socket

微笑、不失礼 提交于 2019-11-28 02:53:07
在基于 .NET 的网络服务端的开发中,我们用到和听到的最多的恐怕就是异步 Socket 了。异步 Socket 的性能比同步高出很多,但是编写代码比较复杂。因此异步 Socket 也是网络上讨论比较多的话题。 今天,我们就来讨论一下如何用异步 Socket 开发网络应用。在此之前我们先讨论两个问题。 一、 异步 Socket 是如何工作的: 那异步 Socket 是如何工作的呢?我以接收一条消息来说明这个问题。首先,程序向系统投递一个接收数据的请求,并为其指定一个数据缓冲区和回调函数,回调函数用来指示当数据到达后将如何处理,然后我们的程序继续执行下去,当有数据到达的时候,系统将数据读入缓冲区,并执行回调函数,处理这条消息。我们并不需要关心这条消息何时到达。 二、 什么情况下我们用异步 Socket : 有些人认为,异步 Socket 的性能比同步 Socket 的性能高很多,应该在各种环境下都用异步 Socket ,其实不然。在某些环境下面。异步反到比同步的性能低,那么在哪些情况下会这样呢? 1、 客户端 Socket 。 2、 服务端连接数比较少。 3、 连接数很多,但都是短连接。 在这些环境下,我们用同步 Socket 不但可以简化代码,而且性能并不会比异步 Socket 低。但在服务端连接比较多而且是长连接的情况下,我们就要使用异步 Socket 。