State Threads

{{Infobox software

| name = State Threads

| title = State Threads

| logo =

| screenshot =

| caption =

| collapsible =

| author =

| developer = Gene Shekhtman, Mike Abbott

| released =

| discontinued =

| latest release version = 1.9

| latest release date = {{Start date and age|2009|10|02}}

| latest preview version =

| latest preview date =

| frequently updated =

| programming language = C

| operating system = Cross-platform

| platform =

| size =

| language =

| status =

| genre = Library

| license = MPL / GPL

| website = [http://state-threads.sourceforge.net/ state-threads.sf.net]

}}

The State Threads library is a small application library which provides a foundation for writing fast and highly scalable Internet applications (such as web servers, proxy servers, mail transfer agents, or any network-data-driven application) on Unix-like platforms.

This library combines the simplicity of the multithreaded programming paradigm, in which one thread supports each simultaneous connection, with the performance and scalability of an event-driven state machine architecture. In other words, this library offers a threading API for structuring an Internet application as a state machine.

The State Threads library is a derivative of the Netscape Portable Runtime library (NSPR) and therefore is distributed under the Mozilla Public License (MPL) version 1.1 or the GNU General Public License (GPL) version 2 or later.