一、线程的创建

方式一:继承Thread类,重写run()方法

package com.imooc.thread1;

class MyThread extends Thread{
public MyThread(String name) {
super(name);
}
public void run() {
for(int i=1;i<=10;i++) {
System.out.println(getName()+"正在运行~~"+i);
}
}
}
public class ThreadTest1 { public static void main(String[] args) {
MyThread mt1=new MyThread("线程1");
MyThread mt2=new MyThread("线程2");
mt1.start();
mt2.start();
}
}

2、通过实现Runnable接口创建线程

package com.imooc.thread3;

class PrintRunnable implements Runnable{

    @Override
public void run() {
// 重写接口的run()方法
int i=1;
while(i<=10) {
System.out.println(Thread.currentThread().getName()+"正在运行!"+(i++));
} } } public class Test { public static void main(String[] args) {
// 通过实现Runnable接口创建线程
//1.实例化Runnable接口的实现类
PrintRunnable pr=new PrintRunnable();
//2.创建线程对象
Thread t1=new Thread(pr);
//3.启动线程
t1.start();
PrintRunnable pr2=new PrintRunnable();
//2.创建线程对象
Thread t2=new Thread(pr2);
//3.启动线程
t2.start();
} }

3、多个线程共享资源

package com.imooc.thread3;

class PrintRunnable implements Runnable{
int i=1;
@Override
public void run() {
// 重写接口的run()方法 while(i<=10) {
System.out.println(Thread.currentThread().getName()+"正在运行!"+(i++));
} } } public class Test { public static void main(String[] args) {
// 通过实现Runnable接口创建线程
//1.实例化Runnable接口的实现类
PrintRunnable pr=new PrintRunnable();
//2.创建线程对象,参数为同一个对象,多个线程共享对象资源
Thread t1=new Thread(pr);
Thread t2=new Thread(pr);
//3.启动线程
t1.start();
t2.start();
} }

Java常用工具——java多线程的更多相关文章

  1. Java常用工具——java字符串

    一.String常用字符串 package com.imooc.string; public class StringDemo { public static void main(String[] a ...

  2. Java常用工具——java集合

    一.ArrayList package com.imooc.set; import java.util.ArrayList; import java.util.List; public class A ...

  3. Java常用工具——java异常

    package com.imooc.exception; import java.util.Scanner; public class TryCatchDemo1 { public static vo ...

  4. Java常用工具——java包装类

    一.包装类和基本数据类型 装箱:基本数据类型——包装类 拆箱:包装类——基本数据类型 package com.imooc.wrap; public class WrapTestOne { public ...

  5. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  6. Java常用工具+类库合集

    1 常用工具 JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控 JMH:Java Microbenchmark Harness,测试基准组件,精度可达纳秒级 JITWatch: ...

  7. Java常用工具类题库

    一.    填空题 在Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中包装类Integer是___Number__的直接子类. 包装类Inte ...

  8. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  9. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

随机推荐

  1. Tensorflow之CNN卷积层池化层padding规则

    padding的规则 ·        padding=‘VALID’时,输出的宽度和高度的计算公式(下图gif为例) 输出宽度:output_width = (in_width-filter_wid ...

  2. 医院里的CR、DR、CT、磁共振、B超都是什么?

    转自 百度知道MR CT CR DR DSA X线 都事医学影像疾病诊断的一种. MRI 是磁共振影像检查,可以获得横断面,矢状面和冠状面的影像.空间分辩率好. CT 是一种X线诊断设备,是一种复杂的 ...

  3. Vue 基础 day06 webpack 3.x 结合vue

    在普通页面使用 render 函数渲染组件 var login = { template: '<h3>login</h3>' } var vm = new Vue({ // c ...

  4. 关于java的数组

    一定要写成 int[] arr = new int[30] 这样每个元素默认为0; 介样子的 如果写成 int[] arr = {1,2,3,4}; 那么他的长度就是4

  5. qemu-kvm使用

    创建镜像qemu-img create -f qcow2 test-vm.qcow2 10g 修改镜像大小qemu-img  resize  test-vm.qcow2 +10G   安装系统 qem ...

  6. Python2视频教程

    目录 1. 说明 1.1. 马哥视频_修复v1 1.2. 马哥视频_修复v2 2. 目录 3. 下载链接 1. 说明 Python从入门到精通视频(全60集)马哥教育视频(已修复部分视频无声音的问题+ ...

  7. 372-基于XC7VX690T的高速模拟信号、万兆光纤综合计算平台

    基于XC7VX690T的高速模拟信号.万兆光纤综合计算平台 一.板卡概述 基于V7的高性能PCIe信号处理板,板卡选用Xilinx 公司Virtex7系列FPGA XC7VX690T-2FFG1761 ...

  8. vue.js 笔记

    <!-- 多层for循环 --> <ul> <li v-for="(ite,key) in list2"> {{key}}-------{{it ...

  9. ASPOSE的示例下载地址

    ftp://112.124.7.170/ASPOSE/Aspose.Words_16.3.0.zip http://blog.163.com/haolongqin@126/blog/static/10 ...

  10. 12JDBC

    1.JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java ...