此示例程序无法编译:
public class MyClass
{
public bool do_work () {
message ("OTHER THREAD: %p", (void*)Thread.self ) ;
return false ;
}
public void run () {
Thread<bool> thread1 = new Thread<bool>.try ("queuejobmanager-thread-1", do_work);
thread1.join () ;
}
}
int main (string[] args) {
message ("MAIN THREAD: %p", (void*)Thread.self ) ;
var item = new MyClass () ;
item.run () ;
return 0 ;
}
错误是:
vala-thread.vala:10.36-10.51: error: The name `try' does not exist in the context of `GLib.Thread'
Thread<bool> thread1 = new Thread<bool>.try ("queuejobmanager-thread-1", do_work);
答案 0 :(得分:2)
答案 1 :(得分:0)
这是一个可以自定义的make fill
VALAC=valac
EXEC=runMe
VALAFILES=test.vala test2.vala test3.vala
VALAPKGS=
VALAOPTS=--thread --target-glib=2.32
default:
$(VALAC) $(VALAFILES) -o $(EXEC) $(VALAPKGS) $(VALAOPTS)
run:
./$(EXEC)
clean:
rm -f *.o pp
输入要在行
中编译的类VALA FILES = test.vala
然后在bash中执行命令;
请
make run