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. 多线程-线程间通信-多生产者多消费者问题解决(notifyAll)

    1 package multithread4; 2 3 /* 4 * 生产者,消费者. 5 * 6 * 多生产者,多消费者的问题. 7 * 8 * if判断标记,只有一次,会导致不该运行的线程运行了. ...

  2. 使用 Kubeadm+Containerd 部署一个 Kubernetes 集群

    本文独立博客阅读地址:https://ryan4yin.space/posts/kubernetes-deployemnt-using-kubeadm/ 本文由个人笔记 ryan4yin/knowle ...

  3. dp学习(三)

    dp优化(一) 10. 状压dp 11. 倍增优化dp 12. 单调队列优化 13. 决策单调性优化(四边形不等式优化) 14. 斜率优化 15. 数据结构优化

  4. Java语法专题1: 类的构造顺序

    合集目录 Java语法专题1: 类的构造顺序 问题 下面的第二个问题来源于Oracle的笔试题, 非常经典的一个问题, 我从07年开始用了十几年. 看似简单, 做对的比例不到2/10. 描述一下多级继 ...

  5. Redis学习笔记(二)redis 底层数据结构

    在上一节提到的图中,我们知道,可以通过 redisObject 对象的 type 和 encoding 属性.可以决定Redis 主要的底层数据结构:SDS.QuickList.ZipList.Has ...

  6. Sklearn 与 TensorFlow 机器学习实用指南第二版

    零.前言 一.机器学习概览 二.一个完整的机器学习项目 三.分类 四.训练模型 五.支持向量机 六.决策树 七.集成学习和随机森林 八.降维 十.使用 Keras 搭建人工神经网络 十一.训练深度神经 ...

  7. file类和fileinfo类的简单对比

    File类:提供用于操作文件的静态方法. FileInfo类:提供操作文件的属性和实例方法. Directory类:提供用于操作目录的静态方法. DirectoryInfo类:提供用于操作目录的实例方 ...

  8. 解决github.com无法访问

    解决 绕过DNS解析,直接使用本地DNS记录进行直接跳转. DNS查询 在浏览器中打开DNS查询网站:http://tool.chinaz.com/dns?type=1&host=github ...

  9. Word表格中文字体修改:

    一.设置字体(中文字体) // 创建 段落 XWPFParagraph xp = j.addParagraph(); // 创建 XWPFRun 对象 XWPFRun title = xp.creat ...

  10. 【转】Nestable可拖拽树

    原文地址:https://blog.csdn.net/wangmj518/article/details/81746523 Nestable是基于Bootstrap的一个可拖拽的树结构表现插件. 下面 ...