Skip to content

An exercise in cooperative asynchronous programming

License

Notifications You must be signed in to change notification settings

lambdageek/pro-dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An exercise in cooperative asynchronous programming.

Building:

pub get
dartanalyzer lib example

Running:

dart example/example1.dart

or perhaps save some text lines to 'hello.txt' and then

dart example/example1.dart < hello.txt

What's here

See scheduler.dart it defines a class Scheduler that executes several Process instances in lock-step round robin fashion. The processes are cooperative and must periodically yield back to the scheduler. Additionally if a process state indicates that it is blocked, we kick it off the round-robin queue and into a new Future that will wait for the process to signal that it is ready to run again at which point it goes back on the queue.

About

An exercise in cooperative asynchronous programming

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages