{"id":21257854,"url":"https://github.com/jesperancinha/virtual-thread-coroutine-cooperation","last_synced_at":"2025-04-14T04:23:55.668Z","repository":{"id":254470486,"uuid":"844405317","full_name":"jesperancinha/virtual-thread-coroutine-cooperation","owner":"jesperancinha","description":"Research into how coroutines can answer to today's problems with the help of virtual threads and how the opposite can also be true","archived":false,"fork":false,"pushed_at":"2025-04-13T07:03:41.000Z","size":24866,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T08:23:19.687Z","etag":null,"topics":["android","concurrency","coroutines","java","java-virtual-threads","jetpack-compose","kotlin","kotlin-coroutines","kotlinx-coroutines","materials3","structured-concurrency","threads"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jesperancinha.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,"zenodo":null}},"created_at":"2024-08-19T07:37:14.000Z","updated_at":"2025-04-13T07:03:44.000Z","dependencies_parsed_at":"2024-11-29T10:35:21.640Z","dependency_job_id":"d0d4b979-0392-42ef-aa21-dec840c48fed","html_url":"https://github.com/jesperancinha/virtual-thread-coroutine-cooperation","commit_stats":null,"previous_names":["jesperancinha/virtual-thread-coroutine-cooperation"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesperancinha%2Fvirtual-thread-coroutine-cooperation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesperancinha%2Fvirtual-thread-coroutine-cooperation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesperancinha%2Fvirtual-thread-coroutine-cooperation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesperancinha%2Fvirtual-thread-coroutine-cooperation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jesperancinha","download_url":"https://codeload.github.com/jesperancinha/virtual-thread-coroutine-cooperation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248820062,"owners_count":21166593,"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":["android","concurrency","coroutines","java","java-virtual-threads","jetpack-compose","kotlin","kotlin-coroutines","kotlinx-coroutines","materials3","structured-concurrency","threads"],"created_at":"2024-11-21T04:06:09.409Z","updated_at":"2025-04-14T04:23:55.651Z","avatar_url":"https://github.com/jesperancinha.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# virtual-thread-coroutine-cooperation\n\n## Introduction\n\nResearch into how coroutines can answer to today's problems with the help of virtual threads and how the opposite can\nalso be true\n\n## Releases\n\n| Version  - Git-Tag | Git Hash                                                                             | Purpose                                                                                                                                                                                                          |\n|--------------------|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [1.0.0]()          | [d00c17e448a19c3653e3c86093161e508e35c06d](d00c17e448a19c3653e3c86093161e508e35c06d) | [Could Virtual Threads Cast Away the Usage of Kotlin Coroutines](https://www.scribd.com/presentation/768072685/Could-Virtual-Threads-Cast-Away-the-Usage-of-Kotlin-Coroutines). Just the documentation on Scribd |\n| [2.0.0]()          | [edfd0d882696f0b403cb7054387ed07d02d7a21e](edfd0d882696f0b403cb7054387ed07d02d7a21e) | Video Completion                                                                                                                                                                                                 |\n\n* Note: All services do not have a converter implemented. This is intentional with the purpose to simplify code. In\n  production environments, the DTO layer should be separated from the Domain and that separation should be very clear\n  for purposes of readability, but also in some cases for safety concerns.\n\nProjects for comparisons:\n\n1.  [warehouse-fulfilment-mvc](warehouse-fulfilment-mvc)\n2.  [warehouse-fulfilment-webflux](warehouse-fulfilment-webflux)\n3.  [warehouse-fulfilment-coroutines](warehouse-fulfilment-coroutines)\n4.  [warehouse-fulfilment-vt](warehouse-fulfilment-vt)\n\nOnly for version 1.0.0:\n\n[warehouse-fulfilment-vt-coroutines](warehouse-fulfilment-vt-coroutines)\n\nExperiments with non-blocking logs:\n\n[warehouse-fulfilment-webflux-non-blocking](warehouse-fulfilment-webflux-non-blocking)\n\n## Resources\n\n### Online\n\n-   [Java 21 Virtual Threads - Dude, Where’s My Lock?](https://netflixtechblog.com/java-21-virtual-threads-dude-wheres-my-lock-3052540e231d)\n-   [Coroutines, Java Virtual Threads and Scoped Values](https://discuss.kotlinlang.org/t/coroutines-java-virtual-threads-and-scoped-values/28004/2)\n-   [Embracing Virtual Threads](https://spring.io/blog/2022/10/11/embracing-virtual-threads)\n-   [How to use virtual threads with Spring Boot](https://bell-sw.com/blog/a-guide-to-using-virtual-threads-with-spring-boot)\n-   [Context Switching Theory](https://www.ibm.com/docs/en/zvm/7.3?topic=exits-context-switching)\n-   [Thread Theory - DePaul University - Boston](https://condor.depaul.edu/glancast/443class/docs/lecFeb05.html)\n\n### Related projects\n\n-   [Good story](https://github.com/jesperancinha/good-story/)\n-   [Kotlin Mysteries](https://github.com/jesperancinha/kotlin-mysteries)\n\n## About me\n\n[![GitHub followers](https://img.shields.io/github/followers/jesperancinha.svg?label=Jesperancinha\u0026style=for-the-badge\u0026logo=github\u0026color=grey \"GitHub\")](https://github.com/jesperancinha)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesperancinha%2Fvirtual-thread-coroutine-cooperation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjesperancinha%2Fvirtual-thread-coroutine-cooperation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesperancinha%2Fvirtual-thread-coroutine-cooperation/lists"}