⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gctest4.java

📁 Java Op Processor java vhdl processor
💻 JAVA
字号:
package gctest;import joprt.RtThread;import util.Dbg;import com.jopdesign.sys.*;// A test of the GCStackWalker. A concurrent test.// Tests if some threads (three) can keep the reference to an object.// waitForNextPeriod() is placed between each source line to test for GC problems// for interrupts.public class GCTest4 {  public static void main(String s[]) {	  	  new RtThread(18, 100010) {	  	SomeObject2 so;			public void run() {				for (;;) {					waitForNextPeriod();					so = new SomeObject2(1);					waitForNextPeriod();      		for(int i=0;i<100;i++){      			waitForNextPeriod();      		  System.out.print("Thread 1: new Object:");      		  waitForNextPeriod();      		  System.out.print(i);      		  waitForNextPeriod();      		  System.out.println("");      		  waitForNextPeriod();      		  new Object();      		  waitForNextPeriod();      		}      		waitForNextPeriod();  		    if(so.getTest() != 1){  		    	waitForNextPeriod();  		      System.out.println("Thread 1 fail");  		      waitForNextPeriod();            System.out.println(so.getTest());  		                 waitForNextPeriod();  		      System.exit(-1);  		      waitForNextPeriod();  		    }else{  		    	waitForNextPeriod();  		      System.out.println("Thread 1 ok");  		      waitForNextPeriod();  		    }					waitForNextPeriod();				}			}		};	  new RtThread(19, 100000) {	  	SomeObject2 so;			public void run() {				waitForNextPeriod();				for (;;) {					waitForNextPeriod();					so = new SomeObject2(2);					waitForNextPeriod();      		for(int i=0;i<1;i++){      			waitForNextPeriod();      		  System.out.print("Thread 2: new Object:");      		  waitForNextPeriod();      		  System.out.print(i);      		  waitForNextPeriod();        		System.out.println("");        		waitForNextPeriod();      		  new Object();      		  waitForNextPeriod();      		}      		waitForNextPeriod();  		    if(so.getTest() != 2){  		    	waitForNextPeriod();  		      System.out.println("Thread 2 fail");  		      waitForNextPeriod();            System.out.println(so.getTest());            waitForNextPeriod();  		       		      System.exit(-1);  		    }else{  		    	waitForNextPeriod();  		    	System.out.println("Thread 2 ok");  		    	waitForNextPeriod();  		    }					waitForNextPeriod();				}			}		};				new RtThread(1, 100000) {			public void run() {				GC.setConcurrent();				for (;;) {				  System.out.println("G");				  GC.gc();				  if (!waitForNextPeriod()) {				    System.out.println("GC missed deadline!");				    System.exit(-1);				  }				}			}		};    		RtThread.startMission();		for(int j=0;j<3;j++){	  	SomeObject2 so; 	  	so = new SomeObject2(0);  		for(int i=0;i<100;i++){  		  System.out.print("RtThread 0: new Object:");  		  System.out.print(i);  		  System.out.println("");  		  new Object();  		}  		if(so.getTest() != 0){  		   System.out.println("Thread 0 fail");  		   System.out.println(so.getTest());  		   System.exit(-1);  		}else{  			 System.out.println("Thread 0 ok");  		}			RtThread.sleepMs(5000);		}		System.out.println("Test 4 OK");	} //main}class SomeObject2 {	int test;		SomeObject2(int test){	  this.test = test;	}		int getTest(){		return test;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -