|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.本文形貌了在某种特别场景下JDK编译器对Java基础范例的封包操纵。
其道理十分复杂,可是征象却十分十分的利诱人。可让我们从别的一个角度对待jdk对基础范例的封包。
本文代码的原意是想找到一种当future超时后,能够只管快的停止失落还在运转的future(现实上,future超时后(在主线程抛出超时非常后),future线程其实不会中断,直到它运转停止,天然灭亡。)
先上代码:
主函数:
packagethread.InteruptTest;
importjava.io.IOException;
importjava.util.concurrent.*;
/**
*经由过程线程池开启一个线程去向理
*摹拟哀求来时,开启一个线程处置哀求的场景
*CreatedwithIntelliJIDEA.
*User:liukunyang
*
*
*TochangethistemplateuseFile|Settings|FileTemplates.
*/
publicclassMain{
publicstaticvoidmain(String[]args)throwsException{
ThreadPoolExecutorexec=newThreadPoolExecutor(0,10,
5,TimeUnit.SECONDS,
newLinkedBlockingQueue<Runnable>(),newThreadPoolExecutor.CallerRunsPolicy());
TestThreadtt=newTestThread();
exec.submit(tt);
//坚持主线程存货,console端察看了局
System.in.read();
}
}
再看TestThread类:
<p>packagethread.InteruptTest;
importjava.util.concurrent.*;
/**
*
*
*再启动一个线程池往提交future义务,该线程会在守候5秒后实验猎取future了局
*并捕捉future的超时非常。最初设置future的cancel标记位,假如运转future的线程反省到标记位
*改动就能够中断失落本人。
*CreatedwithIntelliJIDEA.
*User:liukunyang
*
*
*TochangethistemplateuseFile|Settings|FileTemplates.
*/
publicclassTestThreadextendsThread{
privateThreadPoolExecutorthreadPoolExecutor=
<p>newThreadPoolExecutor(0 |
|