Ags is a able to run in a super threaded fashion. AgsThread object is therefore the most basic thread which will let run your very own thread within the tree. For locking the tree you must wait until every mutex is acquired.
Every child thread of AgsAudioLoop will be synced as long you don't write your very own start class function of AgsThread. The thread is running as long as AGS_THREAD_RUNNING is set as flag. Put your own thread routine by overwriting class function run of AgsThreadClass.
At topmost there's AgsAudioLoop whereby AgsTaskThread guarantees no concurrent memory access.
To run tasks instantiate subclass of AgsTask and add to queue by calling:
The thread pool can be used to pull threads of AGS_TYPE_RETURNABLE_THREAD. It should return as soon as possible because of potential hang-up. It is recommended to stop thread after very first run.
Blog: 2014/05/doing-some-wiki-for-developers
Wiki: development