{"id":19563588,"url":"https://github.com/akagi201/protothreads","last_synced_at":"2025-08-24T11:12:01.381Z","repository":{"id":12554171,"uuid":"15224448","full_name":"Akagi201/protothreads","owner":"Akagi201","description":"my fork of http://dunkels.com/adam/pt/index.html","archived":false,"fork":false,"pushed_at":"2014-04-18T02:34:42.000Z","size":448,"stargazers_count":11,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-08-05T08:53:49.093Z","etag":null,"topics":["c","coroutine","embedded-systems","lightweight","multi-threading","protothreads","protothreads-library"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akagi201.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-16T11:45:52.000Z","updated_at":"2023-06-04T12:41:22.000Z","dependencies_parsed_at":"2022-09-25T02:51:04.950Z","dependency_job_id":null,"html_url":"https://github.com/Akagi201/protothreads","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akagi201%2Fprotothreads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akagi201%2Fprotothreads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akagi201%2Fprotothreads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akagi201%2Fprotothreads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akagi201","download_url":"https://codeload.github.com/Akagi201/protothreads/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224051020,"owners_count":17247451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","coroutine","embedded-systems","lightweight","multi-threading","protothreads","protothreads-library"],"created_at":"2024-11-11T05:18:22.475Z","updated_at":"2024-11-11T05:18:23.564Z","avatar_url":"https://github.com/Akagi201.png","language":"C","readme":"akprotothreads\n==============\n\n* Protothreads are extremely lightweight stackless threads designed for\nseverely memory constrained systems such as small embedded systems or\nsensor network nodes. Protothreads can be used with or without an\nunderlying operating system.\n\n* Protothreads provides a blocking context on top of an event-driven\nsystem, without the overhead of per-thread stacks. The purpose of\nprotothreads is to implement sequential flow of control without\ncomplex state machines or full multi-threading.\n\n### Main features:\n\n* No machine specific code - the protothreads library is pure C.\n* Does not use error-prone functions such as longjmp().\n* Very small RAM overhead - only two bytes per protothread.\n* Can be used with or without an OS.\n* Provides blocking wait without full multi-threading or stack-switching.\n* Freely available under a BSD-like open source license.\n\n### Example applications:\n\n* Memory constrained systems.\n* Event-driven protocol stacks.\n* Small embedded systems.\n* Sensor network nodes.\n\n### License\n\n* The protothreads library is released under an open source BSD-style\nlicense that allows for both non-commercial and commercial usage. The\nonly requirement is that credit is given.\n\n* The protothreads library was written by Adam Dunkels \u003cadam@sics.se\u003e\nwith support from Oliver Schmidt \u003col.sc@web.de\u003e.\n\n### Documentation\n\n* More information and new versions can be found at the protothreads\nhomepage: \u003chttp://www.sics.se/~adam/pt/\u003e\n\n* Documentation can be found in the doc/ subdirectory.\n\n### Examples\n* Two example programs illustrating the use of protothreads can be found\nin the example/ subdirectory:\n\nFilename | Description\n---- | ----\nexample-small.c | A small example showing how to use protothreads\nexample-buffer.c | The bounded buffer problem with protothreads\nexample-codelock.c | A code lock with simulated key input\n\n* To compile the examples, simply run \"make\".\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakagi201%2Fprotothreads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakagi201%2Fprotothreads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakagi201%2Fprotothreads/lists"}