1、继承Thread

/**
* Copyright (C), 2018-2018,
* FileName: MyThread
* Author: 大象
* Date: 2018-06-08 22:30
*/
package com.daxiang.demo.thread; /**
* 〈〉<br>
*
* @author daxiang
* @create 2018-06-08
* @since 1.0.0
*/
public class MyThread extends Thread{
@Override
public void run() {
super.run();
System.out.println("this is thread");
} public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
System.out.println("线程结束");
}
}

2、实现Runnable接口

由于java规定只能单继承,所以为了满足多线程要求可以继承Runnable接口

/**
* Copyright (C), 2018-2018,
* FileName: MyThreadByRunnable
* Author: 大象
* Date: 2018-06-08 22:33
*/
package com.daxiang.demo.thread; /**
* 〈〉<br>
*
* @author daxiang
* @create 2018-06-08
* @since 1.0.0
*/
public class MyThreadByRunnable implements Runnable{ @Override
public void run() {
System.out.println("线程运行中");
} public static void main(String[] args) {
MyThreadByRunnable myThreadByRunnable = new MyThreadByRunnable();
Thread thread = new Thread(myThreadByRunnable,"线程1");
thread.start();
System.out.println("运行结束");
}
}

3、线程运行的随机性

/**
* Copyright (C), 2018-2018,
* FileName: MyThreadByRandom
* Author: 大象
* Date: 2018-06-09 7:00
*/
package com.daxiang.demo.thread; /**
* 〈〉<br>
*
* @author daxiang
* @create 2018-06-09
* @since 1.0.0
*/
public class MyThreadByRandom extends Thread { @Override
public void run() {
System.out.println("run thread:" + Thread.currentThread().getName());
for (int j = 0; j < 10; j++) {
int time = (int) Math.random() * 1000;
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("run:" + Thread.currentThread().getName());
} } public static void main(String[] args) {
MyThreadByRandom thread = new MyThreadByRandom();
thread.setName("线程");
thread.start();
for (int i = 0; i < 10; i++) {
int time = (int) Math.random() * 1000;
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("run:" + Thread.currentThread().getName());
}
} }

  

Java多线程编程核心技术---多线程技能的更多相关文章

  1. Java多线程编程核心技术(一)Java多线程技能

    1.进程和线程 一个程序就是一个进程,而一个程序中的多个任务则被称为线程. 进程是表示资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位. 举个例子: 打开你的计算机上的任务管 ...

  2. Java多线程编程核心技术

    Java多线程编程核心技术 这本书有利于对Java多线程API的理解,但不容易从中总结规律. JDK文档 1. Thread类 部分源码: public class Thread implements ...

  3. Java多线程编程核心技术(三)多线程通信

    线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时 ...

  4. Java多线程编程核心技术(二)对象及变量的并发访问

    本文主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题.阅读本文应该着重掌握如下技术点: synchronized对象监视器为O ...

  5. 《Java多线程编程核心技术》知识梳理

    <Java多线程编程核心技术> @author ergwang https://www.cnblogs.com/ergwang/ 文章末尾附pdf和png下载链接 第1章 Java多线程技 ...

  6. Java多线程编程核心技术---学习分享

    继承Thread类实现多线程 public class MyThread extends Thread { @Override public void run() { super.run(); Sys ...

  7. Java多线程编程核心技术---对象及变量的并发访问(二)

    数据类型String的常量池特性 在JVM中具有String常量池缓存的功能. public class Service { public static void print(String str){ ...

  8. 《Java多线程编程核心技术》推荐

    写这篇博客主要是给猿友们推荐一本书<Java多线程编程核心技术>. 之所以要推荐它,主要因为这本书写得十分通俗易懂,以实例贯穿整本书,使得原本抽象的概念,理解起来不再抽象. 只要你有一点点 ...

  9. 《java多线程编程核心技术》(一)使用多线程

    了解多线程 进程和多线程的概念和线程的优点: 提及多线程技术,不得不提及"进程"这个概念.百度百科对"进程"的解释如下: 进程(Process)是计算机中的程序 ...

随机推荐

  1. MySQL函数学习(一)-----字符串函数

    一.MySQL 字符串函数 \ 函 数 名 称 作 用 完 成 1 LENGTH 计算字符串字节长度 勾 2 CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个 勾 3 ...

  2. C++ 微信多开

    应用是如何判断多开 一.通过查找窗口标题或者类名来判断程序是否正在运行. 二.通过互斥对象确定程序是否运行,大多数软件都是使用CreateMutexW 判断多开的. 三.内存映射物理文件,控制多开. ...

  3. NextCloud + python API

    NextCloud库地址:https://github.com/matejak/nextcloud-API 安装库依赖: 安装库: 建议在虚拟环境下使用 使用示例: # -*- coding: utf ...

  4. AT2699 [ARC081D] Flip and Rectangles

    以下是简要题解: 首先思考如何判定一个矩形是否能通过操作变成全黑. 首先从简单而又特殊的 \(2 \times 2\) 的矩形开始,不难发现只要其中黑色数量不为奇数即可. 近一步拓展可以发现,一个矩形 ...

  5. Java高级特性——反射

    感谢原文作者:peter_RD_nj 原文链接:https://www.jianshu.com/p/9be58ee20dee 注意:同一个类在JVM中只存在一份字节码对象 概述 定义 JAVA反射机制 ...

  6. 将一个读取流转换成bitmap对象

     将一个读取流转换成bitmap对象:         BitmapFactory:可以将文件,读取流,字节数组转换成一个Bitmap对象.         Bitmap bitmap = Bitma ...

  7. js添加元素代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. jstack与jmap分析java堆栈信息

    首先确定要查询的服务进程pid,可用ps -ef|grep 进程名称 jstack -l pid >> stack_info.txt,将此进程的堆栈信息导出到txt文件中 其中" ...

  9. Docker consul的容器服务更新与发现

    Docker consul的容器服务更新与发现 目录 Docker consul的容器服务更新与发现 一.Consul简介 1. 服务注册与发现 2. consul概述 3. consul的两种模式 ...

  10. Spark入门案例 - 统计单词个数 / wordcount

    Scala版 import org.apache.spark.{SparkConf, SparkContext} object WordCountScala { def main(args: Arra ...