java创建多线程实现并行计算任务处理
1、直接上代码一看明白:
package multithreadingTest; class fblib extends Thread{ public static Integer fb(Integer n){
return n<2?1:fb(n-1)+fb(n-2);
} public static void bl1(int n) throws InterruptedException {
for (int i=0;i<n;i++){
System.out.println("fblib:"+i);
Thread.sleep(500);
}
} @Override
public void run() {
super.run();
try {
bl1(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
//System.out.println(fb(40));
}
} class countl extends Thread{
public static void bl(int n) throws InterruptedException {
for (int i=0;i<n;i++){
System.out.println("count1:"+i);
Thread.sleep(500);
}
} @Override
public void run() {
super.run();
try {
bl(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} public class mutithDemo{
public mutithDemo(){}
public static void main(String[] args) throws InterruptedException { // 1、不采用多线程进行并发执行
System.out.println("-----不采用多线程执行任务---------");
long startTime = System.currentTimeMillis();
fblib.bl1(10);
countl.bl(10);
long endTime = System.currentTimeMillis();
System.out.println(endTime-startTime); // 2、采用多线进行并发任务执行
System.out.println("-----采用多线程执行任务实现并发---------");
long startTime1 = System.currentTimeMillis();
fblib f1 = new fblib();
countl f2 = new countl();
//开启两个线程执行两个任务
f1.start();
f2.start();
//等待这两个线程执行结束后在执行以下代码。
f1.join();
f2.join(); long endTime1 = System.currentTimeMillis();
System.out.println(endTime1-startTime1); }
}
java创建多线程实现并行计算任务处理的更多相关文章
- JAVA创建多线程
首先:线程与进程的区别是什么呢? 进程:正在运行的一个程序称之为一个进程,进程负责了内存空间的划分,从宏观的角度:windows是在同时执行多个程序 从微观的角度看,CPU是在快速的切换要执行的程序. ...
- java创建多线程(转载)
转载自:Java创建线程的两个方法 Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对 ...
- java创建多线程的三种方式
/***************************继承Thread类创建多线程************************/ public class FirstThread extends ...
- java创建多线程&创建进程
概述 并发和并行是即相似又有区别: 并行:指两个或多个事件在同一时刻发生: 并发:指两个或多个事件在同一时间段内发生. 进程是指一个内存中运行中的应用程序.每个进程都有自己独立的一块内存空间,一个应用 ...
- Java创建多线程的三种方法
Java多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...
- Java创建多线程和线程安全集合Vector
public class Test { public static Vector<String> data = new Vector<String>(); public sta ...
- Java 创建多线程的三种方法
1. 继承Thread类2. 实现Runnable接口3. 匿名类的方式 注: 启动线程是start()方法,run()并不能启动一个新的线程
- Java多线程开发系列之二:如何创建多线程
前文已介绍过多线程的基本知识了,比如什么是多线程,什么又是进程,为什么要使用多线程等等. 在了解了软件开发中使用多线程的基本常识后,我们今天来聊聊如何简单的使用多线程. 在Java中创建多线程的方式有 ...
- Java中多线程使用匿名内部类的方式进行创建3种方式
/* * 匿名内部类的格式: */ public class ThreadDemo { public static void main(String[] args) { // 继承thread类实现多 ...
随机推荐
- eddx
eddx是亿图绘图文件,可以使用EdrawSoft Edraw Max软件打开.这是一款流程图绘图软件,它内置丰富的预定义模板和例子,可以创建各种图示.包括商务绘图.工程及科学绘图.思维导图和数据库. ...
- spring security基本知识(一)
spring security基本知识(一) Spring Security是为基于Spring的应用程序提供声明式安全保护的安全 性框架.Spring Security提供了完整的安全性解决方案,它 ...
- ESP8266-模拟输出(PWM)
PWM(Pulse Width Modulation,脉宽调制),是在保持波的频率不变的同时改变脉宽的技术 首先,我们来理解一下占空比.一个脉冲周期由一个ON周期(VCCC)和一个OFF周期(GND) ...
- 关于react中context的使用
context是用于组件间数据的传递,就是减少props的使用 具体使用也很简单 第一步设置默认值,第二部用provider发放,第三步使用contextType来接受最近的provider,然后直接 ...
- Redis实战(十四)Redis实现Session共享
序言 登录的处理流程: 1.登录页面提交用户名密码. 2.登录成功后生成token.Token相当于原来的jsessionid,字符串,可以使用uuid. 3.把用户信息保存到redis.Key就是t ...
- JAVA支持HTTP断点续传
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = ...
- sh_03_逻辑运算演练
sh_03_逻辑运算演练 # 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确 age = 12 # 要求人的年龄在 0-120 之间 """ 10000 a ...
- 字符串处理工具StringUtils
package yqw.java.util; import java.io.File;import java.text.ParseException;import java.text.SimpleDa ...
- jQuery_完成复选框的全选与全不选
别的不多说,直接上代码,用于完成复选框的全选与全不选. <!DOCTYPE html> <html> <head> <meta charset="U ...
- (60) 结构体指针、结构体变量嵌套、结构体指针嵌套、函数指针、数组指针、指针数组、typedef 综合运用
#include<stdio.h> #include<iostream> #include<malloc.h> /* author : 吴永聪 program: 结 ...