java多线程学习(三)
来源:互联网 发布:支持绑定第三方域名 编辑:程序博客网 时间:2024/05/29 18:15
上一个博客讲到输出是0的问题,其实也很好解决,方法就是,轮询!
在这个主程序中,我们不停地检测getresult的结果是否为零,如果不为零,就说明run完了,就输出结果!
package lunxun;class lunxunThread extends Thread{private int result;public int getresult(){return result;}public lunxunThread(){}@Overridepublic void run(){int x=0;for(int y=100;y<100000;y++){if(issushu(y)==false){x=x+y;}}this.result = x;}public boolean issushu(int i){for(int x=2;x<Math.sqrt(i);x++){if(i%x==0){return false;}}return true;}}public class lunxun { public static void main(String[] args) { //主函数 lunxunThread x=new lunxunThread(); x.start(); while(x.getresult()==0) { System.out.println("等待run跑完了中。。。"); } System.out.println("run完了,结果是:"); System.out.println(x.getresult()); } }
输出结果是:
但是,这样有不好的地方,主函数卡在那里不停地“问”线程x,计算完了吗?计算完了吗?......不能去做其他的事了!
于是,我们还有一个好方法,让线程告诉主程序“执行完了”,这样不就解决这个问题了?
0 0
- java多线程学习(三)
- java多线程学习(三)
- java之学习多线程(三)
- java多线程入门学习(三)
- Java多线程学习笔记(三)
- Java多线程学习笔记(三)
- java多线程学习笔记(三)
- java学习系列2(多线程三)
- 多线程学习(三)
- java多线程(三)
- java多线程(三)
- java多线程(三)
- java多线程(三)
- Java多线程(三)
- Java多线程(三)
- Java多线程(三)
- java多线程(三)
- Java多线程(三)
- 大龄程序员的发展方向是做管理还是继续写程序?
- Hibernate二级缓存
- UBUNTU如何修改IP
- 七种CSS方式让一个容器水平垂直居中
- 火狐浏览器flash插件经常崩溃解决办法
- java多线程学习(三)
- Linux冬瓜皮(DNS)
- HDU-1011-树形dp
- 几种常用排序算法
- 正则表达式中的一些注意点
- struts2漏洞原理及解决办法
- No.14 HTML之特有标签
- code review 表面上好的代码,其实时差的代码.
- JQuery1.11.3源码——rtrim的学习