Java多线程编程实例讲解.ppt
《Java多线程编程实例讲解.ppt》由会员分享,可在线阅读,更多相关《Java多线程编程实例讲解.ppt(16页珍藏版)》请在三一办公上搜索。
1、Java程序设计,重庆交大,2023/7/6,13.Java多线程编程实例讲解,13.1 多线程应用实例计算素数13.2 多线程应用实例计数程序13.3 课后作业,2023/7/6,13.1 多线程应用实例计算素数,本节给出一个用Java语言编写的比较经典的多线程应用程序(2,P122)。该Java程序实现的功能是:计算并输出第N个素数,N值可能很大,比如10000;可同时计算若干个素数,比如同时计算并输出第10000、10001、10002个素数。本程序采用多线程技术实现:由于N值很大时,计算第N个素数的计算量还是比较大;特别地,要求可以同时计算若干个素数,这样把计算并输出第N个素数的功能用
2、线程实现,如果要同时计算若干个素数,则计算每个素数单独开启一个线程。计算素数的功能用PrimeFinder类实现。程序清单:chapter13PrimeFinder.java。,2023/7/6,13.1 多线程应用实例计算素数,本实例采用第2种方式(实现runnable接口创建线程类)来创建并启动线程。,package chapter13;public class PrimeFinder implements Runnable public long target;/成员变量:第N个素数当中的N值 public long prime;/就是所找到的第N个素数 public boolean f
3、inished=false;/标志着当前线程是否结束 private Thread runner;/就是当前创建并启动的线程对象/构造方法:参数inTarget,接收到的需要查找的第N个素数当中的N值/【注意】这个N值要以构造函数参数的形式传进来,/且通常要定义相应的实例变量 PrimeFinder(long inTarget)target=inTarget;if(runner=null)runner=new Thread(this);runner.start();,public void run()/线程的执行体 long numPrimes=0;/计数,当前找到的是第几个素数 long c
4、andidate=2;/candidate,每一个候选的素数 while(numPrimes target)if(isPrime(candidate)numPrimes+;prime=candidate;candidate+;finished=true;boolean isPrime(long checkNumber)/判断checkNumber是否为素数 double root=Math.sqrt(checkNumber);for(int i=2;i=root;i+)if(checkNumber%i=0)return false;return true;,【注意】与第12章例子不同的时,线程
5、的创建及启动是在Runnable实现类的构造函数中实现的。,2023/7/6,13.1 多线程应用实例计算素数,以下PrimeThreads类是使用PrimeFinder类的应用程序。程序清单:chapter13PrimeThreads.java。应用程序PrimeThreads可以同时查找多个素数。用户可通过命令行参数指定要查找哪几个素数。要在NetBeans中设置命令行参数,详见文档:Java相关开发工具经验汇总.doc。,2023/7/6,13.1 多线程应用实例计算素数,package chapter13;public class PrimeThreads public static
6、void main(String arguments)PrimeThreads pt=new PrimeThreads(arguments);/构造函数:从参数数组中读取每个整数并为每个整数创建并启动一个线程 public PrimeThreads(String arguments)PrimeFinder finder=new PrimeFinderarguments.length;for(int i=0;i arguments.length;i+)try long count=Long.parseLong(argumentsi);finderi=new PrimeFinder(count);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 多线程 编程 实例 讲解

链接地址:https://www.31ppt.com/p-5436072.html