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类实现多 ...
随机推荐
- regsvr32 驱动
1.将SYS驱动文件放到系统目录的SYSTEM32目录中.2.按WIN+R组合键,在运行框中输入:regsvr32 sys所在全路径,点击确定即可.
- 【LeetCode】堆 heap(共31题)
链接:https://leetcode.com/tag/heap/ [23] Merge k Sorted Lists [215] Kth Largest Element in an Array (无 ...
- chrome获取页面element的xPath
chrome真的是强大的工具 1.在chrome打开的页面点击F12,进入开发者模式 2.点击弹出的开发者工具左上角的跟踪箭头,再点击需要跟踪的页面元素,html程序定位到元素在程序中位置 3.选中的 ...
- vue-router中$route 和 $router
1.1 $route 表示(当前路由信息对象) 表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的 route records(路由记录).路由信息对象:即$ro ...
- java+struts上传文件夹文件
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- POJ 2186 挑战 --牛红人 强连通分量——Tarjan
题意:n头奶牛,给出若干个欢迎关系a b,表示a欢迎b,欢迎关系是单向的,但是是可以传递的,如:a欢迎b,b欢迎c,那么a欢迎c .另外每个奶牛都是欢迎他自己的.求出被所有的奶牛欢迎的奶牛的数目.#i ...
- sqli-labs(9)
基于时间的GET单引号盲注 0x01爱之初试探 在我们注入了SQL代码之后,存在以下两种情况: 如果注入的SQL代码不影响后台[数据库]的正常功能执行,那么Web应用的页面显示正确(原始页面). 如果 ...
- JavaScript DOM位置尺寸API
我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scrollHeig ...
- 在xml文件中使用该控件
<yf.changsha.com.view.MyTextView android:layout_width="match_parent" android:layout_hei ...
- 《Effective Java》读书笔记 - 7.方法
Chapter 7 Methods Item 38: Check parameters for validity 直接举例吧: /** * ...其他的被我省略了 * @throws Arithmet ...