
CoRoutines
Get flash to fully experience Pearltrees
martinheidegger/ThreadStepProcessor/en - Spark project
Licensed under the MIT License Copyright (c) 2008 Leichtgewicht (www.leichtgewicht.at) and Spark project (www.libspark.org) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.Threader - Spark project
ActionScript Thread Library 1.0 (そうめん) は、タスクシステムと Java のスレッドモデルをベースとした疑似スレッドライブラリです。 複雑で冗長になりがちな、イベント処理や非同期処理、リアルタイム処理を、分かりやすくスマートに記述することを可能にします。 もちろん、割り込みやキャンセル、例外処理もバッチリです。スレッドを使って、イベントリスナー地獄から抜け出しましょう。 ActionScript 3.0 (FlashPlayer) は、処理の流れがひとつしかない「 シングルスレッド 」で、かつイベントを介して処理を進める「 イベント駆動 」を採用しているため、 データのロード完了を待つ、ユーザーがマウスをクリックするのを待つ、といった非同期処理が入るととたんにコードが複雑になる傾向があります。 ActionScript Thread Library は、これを緩和するために、同時に複数の処理の流れ (すなわち複数のスレッド) が動く「 マルチスレッド 」を擬似的に実現し、かつ非同期処理が入る場合でも、 できるだけイベントのことを考えずに同期的に処理を書ける機構を提供します。
ActionScript Thread Library 1.0 (そうめん) ドキュメント
AIR Link Report visualizer | kahunaburger
The Flex compiler has a rarely used feature called “link-report”. Using this option instructs the compiler to create a report of all symbols that went into the compiled application as well as a list of all external references. The Reducing SWF file sizes livedocs-page has more information about link reports.This PEP proposes some enhancements to the API and syntax of generators, to make them usable as simple coroutines. It is basically a combination of ideas from these two PEPs, which may be considered redundant if this PEP is accepted: - PEP 288 , Generators Attributes and Exceptions. The current PEP covers its second half, generator exceptions (in fact the throw() method name was taken from PEP 288 ). PEP 342 replaces generator attributes, however, with a concept from an earlier revision of PEP 288 , the "yield expression". - PEP 325 , Resource-Release Support for Generators. PEP 342 ties up a few loose ends in the PEP 325 spec, to make it suitable for actual implementation. Motivation
PEP 342 -- Coroutines via Enhanced Generators
Caliburn: A Client Framework for WPF and Silverlight
In Kamaelia you build systems from simple components that talk to each other . This speeds development, massively aids maintenance and also means you build naturally concurrent software . It's intended to be accessible by any developer, including novices. It also makes it fun :) What sort of systems? Network servers, clients, desktop applications, pygame based games, transcode systems and pipelines, digital TV systems, spam eradicators , teaching tools , and a fair amount more :)
index
cogen is a crossplatform library for network oriented, coroutine based programming using the enhanced generators from python 2.5. The project aims to provide a simple straightforward programming model similar to threads but without all the problems and costs. various mechanisms to work with (signals, joins, a Queue with the same features as the stdlib one) and some other stuff you can find in the docs :)
cogen - Crossplatform asynchronous network oriented python framework based on python 2.5 enhanced generators. - Google Project Hosting
Package Index : multitask 0.2.0
Cooperative multitasking and asynchronous I/O using generators multitask allows Python programs to use generators (a.k.a. coroutines) to perform cooperative multitasking and asynchronous I/O. Applications written using multitask consist of a set of cooperating tasks that yield to a shared task manager whenever they perform a (potentially) blocking operation, such as I/O on a socket or getting data from a queue.API docs for “kiwi.tasklet”
event – Notifications of multiple listeners — gevent v0.13.5 documentation
class gevent.event. Event A synchronization primitive that allows one greenlet to wake up one or more others. It has the same interface as threading.Event but works across greenlets. An event object manages an internal flag that can be set to true with the set() method and reset to false with the clear() method.The Boost.Coroutine library contains a family of class templates that wrap function objects in coroutines. Coroutines are a generalization of subroutines that can return and be reentered more than once without causing the destruction of automatic objects.
Chapter 1. Boost.Coroutine
Mordor allows you to focus on performing a logical task, instead of deciding how to make that task conform to a specific threading/event model. Just because local disk I/O will block and should be performed in a thread pool while network I/O should be performed using an event based callback design, doesn't mean you can't do them both in the same function. Mordor allows you to do just that.
Code - Mordor
Coroutines are computer program components that generalize subroutines to allow multiple entry points for suspending and resuming execution at certain locations. Coroutines are well-suited for implementing more familiar program components such as cooperative tasks , iterators , infinite lists and pipes . "Subroutines are special cases of ... coroutines." – Donald Knuth . [ 2 ] When subroutines are invoked, execution begins at the start and once a subroutine exits, it is finished; an instance of a subroutine only returns once. Coroutines are similar except they can also exit by yielding to, or calling other, coroutines, which allows them to be re-entered at that point again; from the coroutine's point of view, it is not exiting at all but simply calling another coroutine. [ 2 ] Any subroutine can be translated to a coroutine which does not call yield . [ 3 ]

