Java多线程编程核心技术---多线程技能
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多线程编程核心技术---多线程技能的更多相关文章
- Java多线程编程核心技术(一)Java多线程技能
1.进程和线程 一个程序就是一个进程,而一个程序中的多个任务则被称为线程. 进程是表示资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位. 举个例子: 打开你的计算机上的任务管 ...
- Java多线程编程核心技术
Java多线程编程核心技术 这本书有利于对Java多线程API的理解,但不容易从中总结规律. JDK文档 1. Thread类 部分源码: public class Thread implements ...
- Java多线程编程核心技术(三)多线程通信
线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时 ...
- Java多线程编程核心技术(二)对象及变量的并发访问
本文主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题.阅读本文应该着重掌握如下技术点: synchronized对象监视器为O ...
- 《Java多线程编程核心技术》知识梳理
<Java多线程编程核心技术> @author ergwang https://www.cnblogs.com/ergwang/ 文章末尾附pdf和png下载链接 第1章 Java多线程技 ...
- Java多线程编程核心技术---学习分享
继承Thread类实现多线程 public class MyThread extends Thread { @Override public void run() { super.run(); Sys ...
- Java多线程编程核心技术---对象及变量的并发访问(二)
数据类型String的常量池特性 在JVM中具有String常量池缓存的功能. public class Service { public static void print(String str){ ...
- 《Java多线程编程核心技术》推荐
写这篇博客主要是给猿友们推荐一本书<Java多线程编程核心技术>. 之所以要推荐它,主要因为这本书写得十分通俗易懂,以实例贯穿整本书,使得原本抽象的概念,理解起来不再抽象. 只要你有一点点 ...
- 《java多线程编程核心技术》(一)使用多线程
了解多线程 进程和多线程的概念和线程的优点: 提及多线程技术,不得不提及"进程"这个概念.百度百科对"进程"的解释如下: 进程(Process)是计算机中的程序 ...
随机推荐
- shell $用法
$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上 ...
- vi与vim编辑器与解决vim编辑异常
目录 一:vi与vim编辑器 二:解决vim编辑异常 一:vi与vim编辑器 vim是vi的升级版编辑器,就是vim比vi丰富一些. 1.安装vim 命令 yum install vim -y 2.打 ...
- IDEA导入建立图标类型的包失败
开发安卓app时当我导入下面的包时,显示包名变红,并且包不可用,这可能与你建立的项目类型有关. MPAndroidChart包是建立图标类型的包,需要自己下载并添加进libs目录 解决方案是在libs ...
- linux网卡知识
使用 Vim 文本编辑器来配置网卡设备的绑定参数.网卡绑定的理论知识类似于前面学习的 RAID 硬盘组,我们需要对参与绑定的网卡设备逐个进行"初始设置".需要注意的是,这些原本独立 ...
- 2.flink
Flink 运行时的组件 作业管理器(JobManager) •控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行. •JobManager 会先接收 ...
- JAVA多线程学习十一-线程锁技术
前面我们讲到了synchronized:那么这节就来将lock的功效. 一.locks相关类 锁相关的类都在包java.util.concurrent.locks下,有以下类和接口: |---Abst ...
- Ajax使用post方式发送数据注意事项
Ajax使用post方式给服务器传递数据时,需要将传递的字符串转化为模拟from表单发送数据的XML格式 在open之后奢姿头协议信息,模拟from表单传递数据 xhr.setRequestHeade ...
- 一行代码为UITextField添加收键盘功能
iOS开发中收键盘是十分常用的功能,只需一行代码即可为ViewController添加工具条收键盘功能 更重要的是使用catogory,无代码污染. 代码 // UITextField+keyboar ...
- java的本地文件操作
一.文件的创建.删除和重命名 File file = new File("/bin/hello.txt");//文件无法被创建,系统找不到指定的路径file.createNewFi ...
- 手势仿QQ侧滑---秀清
// // SlideViewController.h // qqcehua // // Created by 张秀清 on 15/5/25. // Copyright (c) 2015年 张秀清. ...