简介 因为最近一段时间需要研究一些openstack相关的东西,在阅读一些相关代码的时候碰到很多python特定的一些特性,比如generator, coroutine以及一些相关的类库,比如eventlet, greenlet。在openstack里引用的第三方类库非常多,这些特性和类库看起来还....
分类:
编程语言 时间:
2015-09-29 21:50:16
阅读次数:
391
这一章节我们来讨论一些生成器yield
1.yield的特性:延迟结果创建
* 生成器函数:也是使用def定义,但是使用yield返回,而且每次返回只是返回一个结果,在每次产生结果之间挂起和继续它们的状态(就是当返回有三个结果,第一个结果返回了,但是第二个结果没有返回,但是由于是yield,它记录下返回第一个结果时所有作用域以及变量的状态,因此,在当需要返回第二个结果的时候,它将会继续刚才的状...
分类:
编程语言 时间:
2015-09-25 18:41:25
阅读次数:
152
util.py #?coding=utf-8
__author__?=?‘twocold‘
#?文本块生成器
def?lines(file):
????for?line?in?file:?yield?line
????yield?‘\n‘
def?blocks(file):
????block?=?[]
????...
分类:
编程语言 时间:
2015-09-25 13:26:51
阅读次数:
174
在测试Thread优先级时YieldTest first = new YieldTest();YieldTest second = new YieldTest();first.setName("first yield");first.setPriority(Thread.MAX_PRIORITY);...
分类:
编程语言 时间:
2015-09-13 21:33:03
阅读次数:
278
main.c #include?<stdio.h>
#define?STACK_SIZE?65536
#define?REG_SIZE?sizeof(long)
typedef?void?(*cothread_func)();
typedef?struct
{
????unsigned?long?regs[3];?/*?[0]:rip?[1]:rbp...
分类:
其他好文 时间:
2015-09-13 16:04:40
阅读次数:
204
>>> lst = range(2)>>> it = iter(lst)>>> it使用迭代器的next()方法可以访问下一个元素:12 >>> it.next()0如果是Python 2.6+,还有内建函数next(iterator)可以完成这一功能:12>>> next(it)1不像一般的函数会...
分类:
编程语言 时间:
2015-09-11 01:24:39
阅读次数:
186
1、interrupt中断线程 1、interrupt 会给wait池中的线程抛出异常,这个时候该线程会被唤醒,但是同样还要继续竞争锁资源,才能继续运行! 2、interrupt 会给正在sleep的线程抛出异常,但是不会给yield线程抛出异常...
分类:
编程语言 时间:
2015-09-09 13:40:14
阅读次数:
207
生成器是generator,就是指带有关键字yield的函数。它与一般函数不同点在于: 1、函数调用返回迭代子iterator,迭代子可以理解为一系列的值>>> def func():... yield 1...>>> a = func()>>> a 2、迭代子每次只能拿到一个值,若想拿...
分类:
其他好文 时间:
2015-09-08 18:28:45
阅读次数:
140
yield return new WaitForSeconds(1f); print("!!!" + Time.realtimeSinceStartup); yield return null;答案是会受到那么怎么忽略时间缩放?找了下官方没提供,也是一头雾水。不过我不用协...
分类:
其他好文 时间:
2015-09-07 14:13:55
阅读次数:
117
编写具有多线程程序经常会用到的方法:run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), join()还有一个关键字:synchronized下面主要来讲讲:线程的创建方式就不需要细说,就2种方式 Thread和Runnab...
分类:
编程语言 时间:
2015-09-07 12:55:38
阅读次数:
195