forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			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);
 | 
						|
      }
 | 
						|
   }
 | 
						|
}
 |