Docs: refer to illinois.edu, not uiuc.edu
[charm.git] / doc / charm++ / threaded.tex
1 \section{Threaded Entry Methods}
2 \label{threaded}
3
4 Typically, entry methods run in the same thread of execution as the \charmpp
5 scheduler. This prevents them from undertaking any actions that would cause
6 their thread to block, as blocking would prevent the receiving and processing of
7 incoming messages.
8
9 However, entry methods with the \kw{threaded} attribute run in their own
10 user-level nonpreemptible thread, and are therefore able to block without
11 interrupting the runtime system. This allows them to undertake blocking
12 operations or explicitly suspend themselves, which is necessary to use some
13 \charmpp features, such as sync entry methods and futures.
14
15 For details on the threads API available to threaded entry methods, see chapter
16 3 of the Converse programming manual. The use of threaded entry methods is
17 demonstrated in an example program located in
18 \examplerefdir{threaded\_ring}.