Java并发(思维导图)【dealine2019.08.31】

1,线程状态转换

无限期等待:

限期等待:

线程生命流程:

2,实现方式

代码实现样例【三种方式】:

package com.cnblogs.mufasa.demo2;

import java.util.concurrent.Callable;

public class test1_Runnable implements Runnable{
    @Override
    public void run() {
        for(int i=0;i<50;i++){
            System.out.println("当前线程:"+i);
        }
    }
}

class test2_Callable implements Callable<String> {
    private int num;
    public test2_Callable(){}
    public test2_Callable(int num){
        this.num=num;
    }
    @Override
    public String call() throws Exception {
        for(int i=0;i<50;i++){
            System.out.println(this.num+"线程:"+i);
        }
        return num+"线程已完成";
    }
}

class test3_Thread extends Thread {
    private int num;
    public test3_Thread(){}
    public test3_Thread(int num){
        this.num=num;
    }
    @Override
    public void run() {
        for(int i=0;i<50;i++){
            System.out.println(this.num+"线程:"+i);
        }
    }
}

package com.cnblogs.mufasa.demo2;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class Client {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        //实现 Runnable 接口
//        test1_Runnable instance=new test1_Runnable();
//        Thread thread=new Thread(instance);
//        Thread thread1=new Thread(instance);
//        thread.start();
//        thread1.start();

        //实现 Callable 接口
//        test2_Callable instance=new test2_Callable(1);
//        FutureTask<String> ft=new FutureTask<>(instance);
//        Thread thread = new Thread(ft);
//        test2_Callable instance1=new test2_Callable(2);
//        FutureTask<String> ft2=new FutureTask<>(instance1);
//        Thread thread1 = new Thread(ft2);
//
//        thread.start();
//        thread1.start();
//        System.out.println(ft.get());
//        System.out.println(ft2.get());

        //继承 Thread 类
        test3_Thread thread1=new test3_Thread(1);
        test3_Thread thread2=new test3_Thread(2);
        thread1.start();
        thread2.start();

    }
}

3,

原文地址:https://www.cnblogs.com/Mufasa/p/11430993.html

时间: 2024-11-17 11:39:45

Java并发(思维导图)【dealine2019.08.31】的相关文章

JAVA并发思维导图

原博客:https://blog.csdn.net/oqkdws/article/details/82145389 原文地址:https://www.cnblogs.com/xiaofeng-fu/p/12152253.html

java基础思维导图,让java不再难懂

java基础思维导图,让java不再难懂 原链接:https://my.oschina.net/u/3080373/blog/873056#0-sqq-1-75211-9737f6f9e09dfaf5d3fd14d775bfee85 思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具.了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板. 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和理解,能

java技术思维导图

在网上看到有个人总结的java技术的东东,觉得很好,就保存下来了,码农还真是累啊,只有不断的学习才能有所提高,才能拿更多的RMB啊. java技术思维导图 服务端思维导图 前端思维导图

java基础思维导图

1.Java 简介.png 2.java主要特性.png 3.java发展历史.png 4.java 开发环境配置.png 5.java 基础语法.png 6.java基本概念.png 7.java面对对象 .png 8.java面对对象三大特性.png 9.java面对对象C.png 10.java基本数据类型.png 11.java基本数据类型.png 12.Java 变量类型.png 13.java修饰符.png 14.java运算符A.png 15.java运算符B.png 16.jav

Java相关思维导图分享

非常多朋友都给我发私信希望获得一份Java知识的思维导图,我来不及一一答复.原先是给大家一个百度网盘的链接分享,大家能够自己去下载,可是不知道云盘还能用多久.把相关资源转移到了QQ的群共享中.须要的朋友能够參考置顶帖.增加"Java技术交流"群获取相关资源,给大家带来的不便请原谅,可是保证思维导图中的内容非常的全,包含Java基础.高级.Web.Spring.Hibernate.MyBatis.Oracle等内容.请加群下载,谢谢!

java编程思想-并发思维导图

后续加深理解

Java知识思维导图

注:图片来源于网络,谢谢分享. 1 开发环境Java SDK 下载和安装2 环境变量的配置(path和classpath)3 编程基础 标识符命名规范4 Java数据类型5 运算符6 分支语句(if,switch)7 循环语句(for,while)8 函数的定义方法9 面向对象基础 面向对象与面向过程语言之间的区别10 面向对象基本思想(封装)11 类的定义方法12 对象和类的关系13 对象的创建方法14 通过对象使用成员变量和成员函数的方法15 构造函数的作用16 函数的重载17 static

月薪30KJava大牛整理了最新Java学习思维导图,看完茅塞顿开

文章最后有面试题福利!记得看一下哦~ 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢? 本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能. 相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助. 专业技能 熟练的使用Java语言进行面向对象程序设计

Java知识点思维导图-1

JAVA基础-思维导图