This demonstrates the ``start_time`` and ``kill_time`` attribute of the :ref:`pf_tag_actor` tag.
+ .. example-tab:: examples/c/actor-lifetime/actor-lifetime.c
+
+ This file is not really interesting: the important matter is in the XML file.
+
- **Daemonize actors:**
Some actors may be intended to simulate daemons that run in background. This example show how to transform a regular
actor into a daemon that will be automatically killed once the simulation is over.
See also :py:func:`simgrid.Mailbox.put_async()` and :py:func:`simgrid.Comm.wait()`.
+ .. example-tab:: examples/c/async-wait/async-wait.c
+
+ See also :cpp:func:`sg_mailbox_put_async()` and :cpp:func:`sg_comm__wait()`.
+
- **Waiting for all communications in a set:**
The ``wait_all()`` function is useful when you want to block until
all activities in a given set have completed.
See also :py:func:`simgrid.Comm.wait_all()`.
+ .. example-tab:: examples/c/async-waitall/async-waitall.c
+
+ See also :cpp:func:`sg_comm_wait_all()`.
+
- **Waiting for the first completed communication in a set:**
The ``wait_any()`` function is useful
when you want to block until one activity of the set completes, no
See also :py:func:`simgrid.this_actor.execute()`.
+ .. example-tab:: examples/c/exec-basic/exec-basic.c
+
+ See also :cpp:func:`void sg_actor_execute(double)`
+ and :cpp:func:`void sg_actor_execute_with_priority(double, double)`.
+
- **Asynchronous execution:**
You can start asynchronous executions, just like you would fire
background threads.
See also :cpp:func:`simgrid::s4u::Host::get_pstate_speed` and :cpp:func:`simgrid::s4u::Host::set_pstate`.
+ .. example-tab:: examples/c/exec-dvfs/exec-dvfs.c
+
+ See also :cpp:func:`sg_host_get_pstate_speed` and :cpp:func:`sg_host_set_pstate`.
+
.. example-tab:: examples/python/exec-dvfs/exec-dvfs.py
See also :py:func:`Host.get_pstate_speed` and :py:func:`Host.set_pstate`.
.. example-tab:: examples/s4u/io-file-remote/s4u-io-file-remote.cpp
+ .. example-tab:: examples/c/io-file-remote/io-file-remote.c
+
.. _s4u_ex_IPC:
Classical synchronization objects
.. example-tab:: examples/s4u/app-chainsend/s4u-app-chainsend.cpp
+ .. group-tab:: C
+
+ .. showfile:: examples/c/app-chainsend/chainsend.c
+ :language: c
+
+ .. showfile:: examples/c/app-chainsend/broadcaster.c
+ :language: c
+
+ .. showfile:: examples/c/app-chainsend/peer.c
+ :language: c
+
Distributed Hash Tables (DHT)
-----------------------------
.. example-tab:: examples/s4u/cloud-simple/s4u-cloud-simple.cpp
+ .. example-tab:: examples/c/cloud-simple/cloud-simple.c
+
- **Migrating VMs**
This example shows how to migrate VMs between PMs.
.. example-tab:: examples/s4u/cloud-migration/s4u-cloud-migration.cpp
+ .. example-tab:: examples/c/cloud-migration/cloud-migration.c
+
=======================
Model-Checking Examples
=======================