ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Computer Languages
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
A tractable Scheme implementation
Lisp and Symbolic Computation
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pthreads programming
Lisp in small pieces
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Concurrent programming in ML
Atomic heap transactions and fine-grain interrupts
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
The Java Language Specification
The Java Language Specification
Compiling scheme to JVM bytecode:: a performance study
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Continuation-Based Multiprocessing
Higher-Order and Symbolic Computation
An Efficient Implementation for Coroutines
IWMM '92 Proceedings of the International Workshop on Memory Management
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Using Cohort-Scheduling to Enhance Server Performance
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
High-Performance Memory-Based Web Servers: Kernel and User-Space Performance
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Asynchronous Signals is Standard ML
Asynchronous Signals is Standard ML
Programming in Modula-2
Portable multithreading: the signal stack trick for user-space thread creation
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
A hierarchical internet object cache
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Flash: an efficient and portable web server
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
ReactiveML: a reactive extension to ML
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Feasible reactivity in a synchronous Π-calculus
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interactive Programming of Reactive Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Typing termination in a higher-order concurrent imperative language
Information and Computation
Interruptible context-dependent executions: a fresh look at programming context-aware applications
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Fair cooperative multithreading: typing termination in a higher-order concurrent imperative language
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Hi-index | 0.00 |
This paper presents Fair Threads, a new model for concurrent programming. This multi-threading model combines preemptive and cooperative scheduling. User threads execute according to a cooperative strategy. Service threads execute according to a preemptive strategy. User threads may ask services from service threads in order to improve performance by exploiting hardware parallelism and in order to execute non-blocking operations.Fair threads are experimented within the context of the functional programming language Scheme. This paper also presents the integration in this language. That is, it presents a semantics for Scheme augmented with Fair Threads and the main characteristics of the implementation.