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); } } }