{"id":18553805,"url":"https://github.com/kimushu/tinythreads","last_synced_at":"2025-04-09T23:30:51.327Z","repository":{"id":147930232,"uuid":"52365038","full_name":"kimushu/tinythreads","owner":"kimushu","description":"POSIX-compatible tiny multi-threading library for Intel Nios II / Xilinx Zynq-7000","archived":false,"fork":false,"pushed_at":"2020-06-14T04:48:06.000Z","size":209,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T13:21:24.910Z","etag":null,"topics":["mips32","nios2","pic32","posix","zynq","zynq-7000"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimushu.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-23T14:32:43.000Z","updated_at":"2024-11-16T17:22:01.000Z","dependencies_parsed_at":"2023-05-02T23:15:32.334Z","dependency_job_id":null,"html_url":"https://github.com/kimushu/tinythreads","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimushu%2Ftinythreads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimushu%2Ftinythreads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimushu%2Ftinythreads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimushu%2Ftinythreads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimushu","download_url":"https://codeload.github.com/kimushu/tinythreads/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248129543,"owners_count":21052590,"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":["mips32","nios2","pic32","posix","zynq","zynq-7000"],"created_at":"2024-11-06T21:18:23.557Z","updated_at":"2025-04-09T23:30:51.317Z","avatar_url":"https://github.com/kimushu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TinyThreads\n\nTinyThreads is POSIX threads (pthreads) compatible tiny multi-threading library for 32-bit microcontrollers.\n\nCurrently, following processors are supported:\n\n* Intel(Altera) Nios II\n* Xilinx Zynq-7000 (Cortex-A9)\n* ~~Microchip PIC32 (MIPS32 Architecture)~~\n\n## マニュアル / Manuals\n\nSee [TinyThreads wiki](https://github.com/kimushu/tinythreads/wiki).\n\n## ライセンス / License\nThe MIT License\n\n## 対応している機能 / Supported features\n\nほとんどの機能は \u0026lt;pthread.h\u0026gt; ヘッダファイルで提供されます。  \nMost features are provided in \u0026lt;pthread.h\u0026gt; header file.\n\n### スレッド操作とスケジューリング / Thread operation and scheduling\n\n| Interface | Name                            | Conforming to | Remarks |\n|:----------|:--------------------------------|:--------------|:--------|\n| Type      | pthread\\_t                      | POSIX.1-2001  | |\n| Function  | pthread\\_create()               | POSIX.1-2001  | |\n| Function  | pthread\\_exit()                 | POSIX.1-2001  | |\n| Function  | pthread\\_join()                 | POSIX.1-2001  | |\n| Function  | pthread\\_detach()               | POSIX.1-2001  | |\n| Function  | pthread\\_self()                 | POSIX.1-2001  | |\n| Function  | pthread\\_equal()                | POSIX.1-2001  | |\n| Type      | pthread\\_attr\\_t                | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_init()           | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_destroy()        | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_setdetachstate() | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_getdetachstate() | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_setschedparam()  | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_getschedparam()  | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_setschedpolicy() | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_getschedpolicy() | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_setstack()       | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_getstack()       | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_setstacksize()   | POSIX.1-2001  | |\n| Function  | pthread\\_attr\\_getstacksize()   | POSIX.1-2001  | |\n| Function  | sched\\_get\\_priority\\_max()     | POSIX.1-2001  | \u0026lt;sched.h\u0026gt; |\n| Function  | sched\\_get\\_priority\\_min()     | POSIX.1-2001  | \u0026lt;sched.h\u0026gt; |\n| Function  | shced\\_yield()                  | POSIX.1-2001  | \u0026lt;sched.h\u0026gt; |\n\n### ミューテックス / Mutex\n\n| Interface | Name                        | Conforming to | Remarks |\n|:----------|:----------------------------|:--------------|:--------|\n| Type      | pthread\\_mutex\\_t           | POSIX.1-2001  | |\n| Macro     | PTHREAD\\_MUTEX\\_INITIALIZER | POSIX.1-2001  | |\n| Function  | pthread\\_mutex\\_destroy()   | POSIX.1-2001  | |\n| Function  | pthread\\_mutex\\_init()      | POSIX.1-2001  | |\n| Function  | pthread\\_mutex\\_lock()      | POSIX.1-2001  | |\n| Function  | pthread\\_mutex\\_trylock()   | POSIX.1-2001  | |\n| Function  | pthread\\_mutex\\_unlock()    | POSIX.1-2001  | |\n\n### セマフォ / Semaphore\n\n| Interface | Name           | Conforming to | Remarks |\n|:----------|:---------------|:--------------|:--------|\n| Type      | sem\\_t         | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; |\n| Function  | sem\\_destroy() | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; |\n| Function  | sem\\_init()    | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; |\n| Function  | sem\\_post()    | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; Can be used in ISR |\n| Function  | sem\\_wait()    | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; |\n| Function  | sem\\_trywait() | POSIX.1-2001  | \u0026lt;semaphore.h\u0026gt; |\n\n### 条件付き変数 / Conditional variables\n\n| Interface | Name                       | Conforming to | Remarks |\n|:----------|:---------------------------|:--------------|:--------|\n| Type      | pthread\\_cond\\_t           | POSIX.1-2001  | |\n| Macro     | PTHREAD\\_COND\\_INITIALIZER | POSIX.1-2001  | |\n| Function  | pthread\\_cond\\_destroy()   | POSIX.1-2001  | |\n| Function  | pthread\\_cond\\_init()      | POSIX.1-2001  | |\n| Function  | pthread\\_cond\\_broadcast() | POSIX.1-2001  | |\n| Function  | pthread\\_cond\\_signal()    | POSIX.1-2001  | |\n| Function  | pthread\\_cond\\_wait()      | POSIX.1-2001  | |\n\n### 1回きりの初期化 / Once control\n\n| Interface | Name                | Conforming to | Remarks     |\n|:----------|:--------------------|:--------------|:------------|\n| Type      | pthread\\_once\\_t    | POSIX.1-2001  | |\n| Macro     | PTHREAD\\_ONCE\\_INIT | POSIX.1-2001  | |\n| Function  | pthread\\_once()     | POSIX.1-2001  | |\n\n### pthreads以外の機能 / Features outside of pthreads\n\n以下のAPIは、本来pthreadsのカバーする範囲ではありませんが、マルチスレッド環境に対して効率的な実装をTinyThreadsが提供できるものです。\nThe following APIs are outside of pthreads but TinyThreads can provide a more effective implementation for multi-threading environment.\n\n| Interface | Name                | Conforming to | Remarks     |\n|:----------|:--------------------|:--------------|:------------|\n| Function  | sleep()             | POSIX.1-2001  | \u0026lt;unistd.h\u0026gt; |\n| Function  | usleep()            | POSIX.1-2001  | \u0026lt;unistd.h\u0026gt; |\n\n## 削除されている機能 / Dropped features\n\n以下に挙げる機能はTinyThreadsが目指す「小さなマルチスレッド環境」に不要と判断され、\n削除された機能です。原則として、将来も対応する予定はありません。  \nThe features below are dropped because they are not useful in \"tiny\" multi-threading environment.\nAs a general rule, they have never been supported in the future.\n\n- pthread\\_atfork()\n- pthread\\_cancel()\n- pthread\\_key\\*()\n- pthread\\_getspecific()\n- pthread\\_setspecific()\n- sem\\_open()\n- sem\\_unlink()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimushu%2Ftinythreads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimushu%2Ftinythreads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimushu%2Ftinythreads/lists"}