X-Git-Url: http://nitlanguage.org diff --git a/lib/pthreads/README.md b/lib/pthreads/README.md index e612dbe..44f3754 100644 --- a/lib/pthreads/README.md +++ b/lib/pthreads/README.md @@ -11,6 +11,14 @@ This group also provides two optional modules with thread-safe collections: Theses services are implemented using the POSIX threads. +You can also use the `is threaded` annotation on methods, which makes them run on their own thread. +Methods with self calls are not supported. + +A method or function annotated with `is threaded` has its return value changed during compilation. +You will get a subclass of `Thread`, even if there wasn't a return value before. You can know if the threaded method is done with the `is_done` boolean from `Thread`. +A call to the `join` method will block the execution until the threaded method is done, or immediatly return if it's already done. +`join` will return an object typed with the orginial return type, or `null` if there wasn't. + ## Known limitations: * Most services from the Nit library are not thread-safe. You must manage @@ -21,3 +29,4 @@ Theses services are implemented using the POSIX threads. * See: `man pthreads` * See: `examples/concurrent_array_and_barrier.nit` +* See: ̀ examples/threaded_example.nit`