35 lines
597 B
Vala
35 lines
597 B
Vala
public class MyThread : Object {
|
|
|
|
public int lock_var = 0;
|
|
|
|
public int increase_lock_var () {
|
|
var ret = 0;
|
|
lock (lock_var) ret = ++lock_var;
|
|
return ret;
|
|
}
|
|
|
|
public int run () {
|
|
|
|
for (var i = 0; i < 8; ++i) {
|
|
var tmp = 0;
|
|
lock (lock_var) tmp = lock_var++;
|
|
stdout.puts (@"thrd:$lock_var\n");
|
|
Thread.usleep(100);
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
void main () {
|
|
var mt = new MyThread ();
|
|
var t = new Thread<int> ("Debugging thread name", mt.run);
|
|
|
|
for (var i = 0; i < 8; ++i) {
|
|
var tmp = mt.increase_lock_var ();
|
|
stdout.puts(@"main:$tmp\n");
|
|
Thread.usleep(100);
|
|
}
|
|
|
|
t.join ();
|
|
}
|