package ptolemy.apps.apes.demo.ThreeTasks; import ptolemy.actor.NoRoomException; import ptolemy.apps.apes.CTask; import ptolemy.kernel.CompositeEntity; import ptolemy.kernel.util.IllegalActionException; import ptolemy.kernel.util.NameDuplicationException; import ptolemy.kernel.util.Workspace; public class CTaskB extends CTask { public CTaskB() throws IllegalActionException, NameDuplicationException { super(); } public CTaskB(Workspace workspace) throws IllegalActionException, NameDuplicationException { super(workspace); } public CTaskB(CompositeEntity container, String name) throws IllegalActionException, NameDuplicationException { super(container, name); } private native void CMethod(); @Override protected void _callCMethod() { long period; System.out.println(this.getName() + "._callCMethod()"); try { accessPointCallback(-1.0, 1.0); period = System.currentTimeMillis(); for (int i=0;i<Integer.MAX_VALUE/4;i++){ double a = Math.PI*Math.PI; } period = System.currentTimeMillis() - period; System.out.println("duration of CMethod of " + this.getName() + ": " + Long.toString(period) + " ms."); accessPointCallback(1.7, 0.0); cpuScheduler.terminateTask(); } catch (Exception e) { e.printStackTrace(); } } @Override public void accessPointCallback(double extime, double minNextTime) throws NoRoomException, IllegalActionException { // TODO Auto-generated method stub super.accessPointCallback(extime, minNextTime); } }