快速业务通道

使用实时Java进行开发,第1部分 探索实时Java的独特功能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
java.lang.reflect.InvocationTargetException; public class ThreadLogic implements Runnable {   static void startThread(int priority) {     Thread thread = ThreadAssigner.assignThread(         priority, new ThreadLogic());     thread.start();   }   public void run() {     System.out.println("Running " + Thread.currentThread());   } } class ThreadAssigner {   static Thread assignThread(int priority, Runnable runnable) {     Thread thread = null;     try {       thread = assignThread(priority <= Thread.MAX_PRIORITY, runnable);     } catch(InvocationTargetException e) {     } catch(IllegalAccessException e) {     } catch(InstantiationException e) {     } catch(ClassNotFoundException e) {     }     if(thread == null) {       thread = new Thread(runnable);       priority = Math.min(priority, Thread.MAX_PRIORITY);     }     thread.setPriority(priority);     return thread;   }   static Thread assignThread(boolean regular, Runnable runnable)     throws InvocationTargetException, IllegalAccessException,       InstantiationException, ClassNotFoundException {     Thread thread = assignThread(         regular ? "java.lang.Thread" :         "javax.realtime.RealtimeThread", runnable);     return thread;   }   static Thread assignThread(String className, Runnable runnable)     throws InvocationTargetException, IllegalAccessException,       InstantiationException, ClassNotFoundException {     Class clazz = Class.forName(className);     Constructor selectedConstructor = null;     Constructor constructors[] = clazz.getConstructors();     top:     for(Constructor constructor : constructors) {       Class parameterTypes[] =         constructor.getParameterTypes();       int parameterTypesLength = parameterTypes.length;       if(parameterTypesLength == 0) {         continue;       }       Class lastParameter =         parameterTypes[parameterTypesLength - 1];       if(lastParameter.equals(Runnable.class)) {         for(Class parameter : parameterTypes) {           if(parameter.isPrimitive()) {             continue top;           }         }         if(selectedConstructor == null ||            selectedConstructor.getParameterTypes().length              > parameterTypesLength) {           selectedConstructor = constructor;         }       }     }     if(selectedConstructor == null) {       throw new InstantiationException(           "no compatible constructor");     }     Class parameterTypes[] =       selectedConstructor.getParame

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号