.. doxygenfunction:: simgrid::s4u::Actor::join() const
.. doxygenfunction:: simgrid::s4u::Actor::join(double timeout) const
.. doxygenfunction:: simgrid::s4u::Actor::set_auto_restart(bool autorestart)
- .. doxygenfunction:: simgrid::s4u::Actor::get_restart_count()
+ .. doxygenfunction:: simgrid::s4u::Actor::get_restart_count
.. group-tab:: Python
.. doxygenfunction:: simgrid::s4u::this_actor::execute(double flop)
.. doxygenfunction:: simgrid::s4u::this_actor::execute(double flop, double priority)
.. doxygenfunction:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host * > &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts)
+ .. doxygenfunction:: simgrid::s4u::this_actor::thread_execute
.. group-tab:: Python
.. doxygenfunction:: simgrid::s4u::Activity::resume
.. doxygenfunction:: simgrid::s4u::Activity::is_suspended
+Signals
+-------
+
+.. tabs::
+
+ .. group-tab:: C++
+
+ .. doxygenfunction:: simgrid::s4u::Activity::on_completion_cb
+ .. doxygenfunction:: simgrid::s4u::Activity::on_suspend_cb
+ .. doxygenfunction:: simgrid::s4u::Activity::on_resume_cb
+
.. _API_s4u_Comm:
=============
.. doxygenfunction:: simgrid::s4u::Io::test
.. doxygenfunction:: simgrid::s4u::Io::wait
.. doxygenfunction:: simgrid::s4u::Io::wait_for
- .. doxygenfunction:: simgrid::s4u::Io::wait_any
- .. doxygenfunction:: simgrid::s4u::Io::wait_any_for
+ .. doxygenfunction:: simgrid::s4u::Io::wait_any(const std::vector<IoPtr> &ios)
+ .. doxygenfunction:: simgrid::s4u::Io::wait_any_for(const std::vector<IoPtr> &ios, double timeout)
.. group-tab:: Python
# Access shared resource ...
pass
+ .. automethod:: simgrid.Mutex.__init__
+
.. group-tab:: C
.. code-block:: C
.. group-tab:: Python
- .. automethod:: simgrid.Mutex.lock()
- .. automethod:: simgrid.Mutex.try_lock()
- .. automethod:: simgrid.Mutex.unlock()
+ .. automethod:: simgrid.Mutex.lock
+ .. automethod:: simgrid.Mutex.try_lock
+ .. automethod:: simgrid.Mutex.unlock
.. group-tab:: C
.. doxygentypedef:: BarrierPtr
- .. doxygenfunction:: simgrid::s4u::Barrier::Barrier(unsigned int expected_actors)
.. doxygenfunction:: simgrid::s4u::Barrier::create(unsigned int expected_actors)
.. doxygenfunction:: simgrid::s4u::Barrier::wait()
from simgrid import Barrier
barrier = Barrier(2)
- .. automethod:: simgrid.Barrier.wait()
+ .. automethod:: simgrid.Barrier.__init__
+ .. automethod:: simgrid.Barrier.wait
.. group-tab:: C
Semaphore
==================
-.. doxygenclass:: simgrid::s4u::Semaphore
+.. tabs::
+
+ .. group-tab:: C++
+ .. doxygenclass:: simgrid::s4u::Semaphore
+
+ .. group-tab:: Python
+
+ .. autoclass:: simgrid.Semaphore
Basic management
----------------
.. doxygentypedef:: SemaphorePtr
.. doxygenfunction:: simgrid::s4u::Semaphore::create(unsigned int initial_capacity)
+ .. group-tab:: Python
+
+ .. code-block:: Python
+
+ from simgrid import Semaphore
+ semaphore = Semaphore(1)
+ # Automatically acquire the semaphore, and release it after leaving the scope.
+ with semaphore:
+ # Do something with the shared resource
+ pass
+
+ .. automethod:: simgrid.Semaphore.__init__
+
.. group-tab:: C
.. code-block:: C
.. doxygenfunction:: simgrid::s4u::Semaphore::release()
.. doxygenfunction:: simgrid::s4u::Semaphore::would_block() const
+ .. group-tab:: Python
+
+ .. automethod:: simgrid.Semaphore.acquire
+ .. automethod:: simgrid.Semaphore.acquire_timeout
+ .. autoattribute:: simgrid.Semaphore.capacity
+ .. automethod:: simgrid.Semaphore.release
+ .. autoattribute:: simgrid.Semaphore.would_block
+
.. group-tab:: C
.. doxygenfunction:: sg_sem_acquire(sg_sem_t sem)