loop

Python:asyncio模块学习

匆匆过客 提交于 2019-12-27 08:32:48
python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。Python的在3.4中引入了协程的概念,可是这个还是以生成器对象为基础,3.5则确定了协程的语法。下面将简单介绍asyncio的使用。实现协程的不仅仅是asyncio,tornado和gevent都实现了类似的功能。 event_loop 事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。 coroutine 协程:协程对象,指一个使用async关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环,由事件循环调用。 task 任务:一个协程对象就是一个原生可以挂起的函数,任务则是对协程进一步封装,其中包含任务的各种状态。 future: 代表将来执行或没有执行的任务的结果。它和task上没有本质的区别 async/await 关键字:python3.5 用于定义协程的关键字,async定义一个协程,await用于挂起阻塞的异步调用接口。 上述的概念单独拎出来都不好懂,比较他们之间是相互联系,一起工作。下面看例子,再回溯上述概念,更利于理解。

Oracle-PLSQL基本操作

僤鯓⒐⒋嵵緔 提交于 2019-12-26 09:51:54
Oracle-PLSQL基本操作 1.查询记录并打印 declare --应用型变量:emp.sal是什么类型,那么通过emp.sal%type就可以指明vsal的类型 vsal emp . sal % type ; begin --将值赋给vsal select sal into vsal from emp where empno = 7369 ; --打印 dbms_output . put_line ( vsal ) ; end ; declare --声明记录型变量 vrow emp % rowtype ; begin select * into vrow from emp where empno = 7369 ; dbms_output . put_line ( '姓名' || vrow . ename ) ; end ; 条件判断 declare age number : = & 输入年龄 ; begin if age < 18 then dbms_output . put_line ( '未成年' ) ; elsif age > 18 and age <= 35 then dbms_output . put_line ( '年轻人' ) ; elsif age > 35 and age <= 65 then dbms_output . put_line ( '中年人'

5 循环控制

萝らか妹 提交于 2019-12-24 04:08:32
1 while 循环 语法 while 条件: 执行代码。。。 简单吧, while 就是当的意思,当山峰没有棱角的时候,当河水。。。,sorry , while 指 当其后面的条件 成立 ,就执行 while 下面的代码 从0打印到100的程序,每循环一次,+1 #!/usr/bin/env python #$ coding:utf-8 $ #__Author__:Peter Du count = 0 while count <=100: print("loop",count) count += 1 print("----loop end----") 结果 count = 0 while count<= 100: if count % 2 ==0: print("loop",count) count += 1 print("----loop end----") #运行结果 loop 82 loop 84 loop 86 loop 88 loop 90 loop 92 loop 94 loop 96 loop 98 loop 100 ----loop end---- #第50次不打印,第60-80打印对应值的平方 count = 0 while count <= 100: if count == 50: pass elif 60 <= count <= 80: print(

oracle10g- oracle 关于集合数据的处理 cursor 游标

人盡茶涼 提交于 2019-12-24 01:06:39
pl sql 高级应用 游标的设计与开发 什么是游标 为什么用游标 怎么样使用游标 存储过程的创建参数的使用存储过程的调用 包的设计与应用 什么是包 包的创建与使用 游标是一种plsql控制结构 可以对sql语句的处理进行显示的控制便于对表的行数据进行逐条的处理 游标分为显式和隐式两种情况 游标的属性%found %isopen %notfound %rowcount 例子 --******************* declare cursor mycur is select * from t1; myrec t1%rowtype; begin open mycur;//打开 fetch mycur into myrec; whie mycur%found loop dbms_output.put_line(myrec.id||myrec.name); fetch mycur into myrec;//记录去获取下一个记录 end loop; close mycur;//要关闭 end; / --******************* 带参数的游标 declare cursor mycur(did number) is select name from t1 where id=did; dname t1.name%type; begin open mycur(1);/

什么是 Event Loop?

不问归期 提交于 2019-12-22 04:29:19
摘自:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一、为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。 为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。 二、任务队列 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。 如果排队是因为计算量大,CPU忙不过来,倒也算了,但是很多时候CPU是闲着的,因为IO设备(输入输出设备

javascript事件轮询

雨燕双飞 提交于 2019-12-22 04:28:50
JavaScript 运行机制详解:再谈Event Loop 一、为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。 为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。 二、任务队列 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。 如果排队是因为计算量大,CPU忙不过来,倒也算了,但是很多时候CPU是闲着的,因为IO设备(输入输出设备)很慢(比如Ajax操作从网络读取数据)

Oracle & PL/SQL

亡梦爱人 提交于 2019-12-20 08:42:47
PL/SQL 语言基础 PL/SQL 是 ORACLE 对标准数据库语言的扩展, ORACLE 公司已经将 PL/SQL 整合到 ORACLE 服务器和其他工具中了,近几年中更多的开发人员和 DBA 开始使用 PL/SQL ,本文将讲述 PL/SQL 基础语法,结构和组件、以及如何设计并执行一个 PL/SQL 程序。    PL/SQL 的优点   从版本 6 开始 PL/SQL 就被可靠的整合到 ORACLE 中了,一旦掌握 PL/SQL 的优点以及其独有的数据管理的便利性,那么你很难想象 ORACLE 缺了 PL/SQL 的情形。 PL/SQL 不是一个独立的产品,他是一个整合到 ORACLE 服务器和 ORACLE 工具中的技术,可以把 PL/SQL 看作 ORACLE 服务器内的一个引擎, sql 语句执行者处理单个的 sql 语句, PL/SQL 引擎处理 PL/SQL 程序块。当 PL/SQL 程序块在 PL/SQL 引擎处理时, ORACLE 服务器中的 SQL 语句执行器处理 pl/sql 程序块中的 SQL 语句。    PL/SQL 的优点如下:    . PL/SQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令。通过使用 PL/SQL 程序单元处理 SQL 的数据定义和数据控制元素。    . PL/SQL

MJ_RunLoop

允我心安 提交于 2019-12-19 14:53:08
1.RunLoop对象 iOS中有两套API来访问和使用RunLoop Core Foundation框架:CFRunLoopRef,是开源的 Foundation框架:NSRunLoop,基于CFRunLoopRef的一层OC包装 2.获取RunLoop对象 [NSRunLoop currentRunLoop]; // 获得当前线程的RunLoop对象 CFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象 [NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象 CFRunLoopGetMain(); // 获得主线程的RunLoop对象 3.RunLoop相关的类 CFRunLoopRef 、CFRunLoopModeRef、CFRunLoopSourceRef 、CFRunLoopTimerRef 、CFRunLoopObserverRef CFRunLoopModeRef 1>CFRunLoopModeRef代表RunLoop的运行模式 2> 一个RunLoop包含若干个Mode,每个Mode又包含若干个Source0/Source1/Timer/Observer 3>RunLoop启动时只能选择其中一个Mode,作为currentMode 4>如果需要切换Mode,只能退出当前Loop

一个PL/SQL块,删除某个用户的所有表

半腔热情 提交于 2019-12-18 19:17:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 开发一个PL/SQL块,删除某个用户的所有表 就遍历 user_tables表,查询这个用户的所有表,组成SQL语句(drop语句),执行 Drop就可以了。 declare cursor cur is select table_name from user_tables; cursor cur2 is select constraint_name,table_name from user_constraints where constraint_type='R'; tname varchar(30); cname varchar(30); vsql varchar(100); begin open cur2; loop fetch cur2 into cname,tname; exit when cur2%notfound; vsql:='alter table '||tname||' drop constraint '||cname; dbms_output.put_line(vsql); EXECUTE IMMEDIATE vsql; end loop; close cur2; open cur; loop fetch cur into tname; exit when cur%notfound;

汇编语言笔记05-[bx]和loop指令

自古美人都是妖i 提交于 2019-12-18 08:14:14
转载必须注明出处,违者必究。 http://www.cnblogs.com/dennisOne debug 和汇编编译器masm对指令的不同处理 debug masm debug 和编译器对[idata]有这不同的解释。 debug 将 "[idata]" 是一个内存单元, "idata" 是内存单元的偏移地址;而编译器将 "[idata]" 解释为 "idata" 。 解决之道 可以使用两种方式解决: (1). 指定段地址 mov al,ds:[0] 含义: (al)=((ds)*16+0) ,将内存单元中的数据送入 al 中; mov al,ds:[bx] 含义: (al)=((ds)*16+(bx)) ,将内存单元中的数据送入 al 中。 (2). 使用 [bx] mov al,[bx] 含义:同 "mov al, ds:[bx]" 相同。 loop 指令 指令格式: loop 标号 CPU 在执行 loop 指令要进行两步操作: (1). (cx) = (cx)-1 (2). 判断 cx 中的值,不为零则转至标号处执行程序,如果为 0 则向下执行。 loop 指令的基本结构 计算: 2^12 1 assume cs:code 2 code segment 3 start: mov ax, 2 4 mov cx, 11 5 s: add ax, ax 6 loop s 7 8