博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法笔记】多线程斐波那契数列
阅读量:6159 次
发布时间:2019-06-21

本文共 854 字,大约阅读时间需要 2 分钟。

多线程斐波那契数列

Fibonacci 类多线程实现斐波那契数列。

在多线程中,需要线程共享的变量必须使用静态变量。
根据公式F[N] = F[N-1] + F[N-2]
可知至少需要要两个线程共享的变量,另外由于需要记录角标,另设一个线程共享变量

public class Fibonacci implements Runnable {
public static int num = 2; //用于记录角标,静态变量实现多线程共享 public int numRe ; //用于记录角标,常量实现线程内角标持久化 public static int a = 0; //f[n-2] public static int b = 1; //f[n-1] public int c; //f[n] public Fibonacci() { c = a + b; a = b; b = c; numRe = num++; } public void run() { System.out.println("F["+ numRe +"]="+ c); Thread.yield(); }}

Generate 是对Fibonacci的线程执行

public class Generate {    public static void main(String[] args) {        for (int i = 0; i < 10; i++) {            new Thread(new Fibonacci()).start();        }    }}

通过线程调度实现多线程实现斐波那契数列

转载于:https://www.cnblogs.com/cunchen/p/9464226.html

你可能感兴趣的文章
boost库
查看>>
LeetCode——Longest Consecutive Sequence
查看>>
Python对字典(directory)按key和value排序
查看>>
Azure: 给 ubuntu 虚机挂载数据盘
查看>>
工作总结 @{var sas = String.Format("{0:yyyy-MM-dd}", Model.DemandTime.GetValueOrDefault());}
查看>>
Bootstrap table分页问题汇总
查看>>
javascript进阶课程--第三章--匿名函数和闭包
查看>>
多线程UI
查看>>
Jenkins部署java项目实例
查看>>
深入理解Python中的yield和send
查看>>
好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果
查看>>
javascript学习笔记
查看>>
VLFeat-----mean sift开源库【配置】【转载】
查看>>
wa,架构师
查看>>
文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
查看>>
Ioc容器应用浅析
查看>>
把孩子打造成为码农
查看>>
Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
查看>>
Microsoft Web Platform Installer 5.0
查看>>
ubuntu vnc安装
查看>>