+The ``wait_all()`` function is useful when you want to block until all activities in a given set have been completed.
+
+.. tabs::
+
+ .. example-tab:: examples/cpp/comm-waitall/s4u-comm-waitall.cpp
+
+ See also :cpp:func:`simgrid::s4u::Comm::wait_all()`.
+
+ .. example-tab:: examples/python/comm-waitall/comm-waitall.py
+
+ See also :py:func:`simgrid.Comm.wait_all()`.
+
+ .. example-tab:: examples/c/comm-waitall/comm-waitall.c
+
+ See also :cpp:func:`sg_comm_wait_all()`.
+
+Waiting for the first completed communication in a set
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The ``wait_any()`` blocks until one activity of the set completes, no matter which terminates first.
+
+.. tabs::