This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Threading in Vala

Locks

Lock can be used like in C#. The main difference is, that you can only lock members of your class.

/* Vala Lock Example */
using GLib;

public class Sample : GLib.Object {

        private int critical_data;

        public void inc () {
                
                lock (critical_data) {
                        critical_data++;
                }
        }

        static void main (string[] args) {
                
                var sample = new Sample ();
                sample.inc ();
        }
}

Compile

$ valac lock.vala
$ ./lock

2024-10-23 11:37