41 lines
952 B
Haxe
41 lines
952 B
Haxe
import sys.thread.Thread;
|
|
import sys.io.File;
|
|
|
|
@:cppInclude("./ThreadCode.cpp")
|
|
class Test
|
|
{
|
|
static var mainThread:Thread;
|
|
|
|
@:native("runThread")
|
|
extern static function createNativeThread():Void;
|
|
|
|
public static function callFromThread()
|
|
{
|
|
trace("Same:" + (mainThread==Thread.current()) );
|
|
mainThread.sendMessage("Done");
|
|
}
|
|
|
|
public static function main()
|
|
{
|
|
var me = Thread.current();
|
|
mainThread = me;
|
|
Thread.create( function() {
|
|
File.copy("a.txt","b.txt");
|
|
me.sendMessage("Done");
|
|
trace("Same thread:" + (me==Thread.current()) );
|
|
} );
|
|
var result = Thread.readMessage(true);
|
|
trace(result);
|
|
|
|
for(x in 0...20)
|
|
{
|
|
trace("call...");
|
|
createNativeThread();
|
|
trace("zzz...");
|
|
Sys.sleep(1);
|
|
var result = Thread.readMessage(true);
|
|
trace(result);
|
|
}
|
|
}
|
|
}
|