JAVA多线程间隔时间段执行方法
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; public class ManyProject {
public static void main(String[] args) {
//创建方法1的对象
Mythread_thread firstThread=new Mythread_thread();
firstThread.start();//开启线程
System.out.println("********************************"); //创建方法2的对象
Mythread_run secondThread=new Mythread_run();
//创建Thread类对象,把方法2类对象当做Thread类的构造方法的参数传递进去
Thread second=new Thread(secondThread);
second.start();//Thread对象开启新的线程
System.out.println("********************************"); /* //main线程方法
for (int i = 0; i < 10; i++) {
System.out.println("main线程报数:"+i);
}*/
} }
/*创建新的线程:方法1==>继承Thread类*/
class Mythread_thread extends Thread{//1、继承Thread
@Override
public void run() { //2、实现run方法
// for (int i = 0; i < 10; i++) {//3、自定义执行语句
//System.out.println("继承Thread类 --线程报数:");
Timer timer = new Timer();
//表示在3秒之后开始执行,并且每2秒执行一次
timer.schedule(new MyTask2(),3000,2000);
// }
}
} /*创建新的线程:方法2==>实现Runnable接口*/
class Mythread_run implements Runnable{//1、自定义类实现Runnable接口
@Override
public void run() {//2、重写run方法
Timer timer = new Timer();
//表示在3秒之后开始执行,并且每2秒执行一次
timer.schedule(new MyTask1(),3000,2000); }
} /**
* 类描述:这个类代表一个定时任务
* @author xiezd
* 自定义定时任务,继承TimerTask
*
*/
class MyTask1 extends TimerTask{ //在run方法中的语句就是定时任务执行时运行的语句。
public void run() {
System.out.println("Hello!! 现在是:"+new Date().toLocaleString());
}
}
class MyTask2 extends TimerTask{ //在run方法中的语句就是定时任务执行时运行的语句。
public void run() {
System.out.println(" 现在是:"+new Date().toLocaleString());
}
}
运行结果:

两个进程同时运行,输出的结果并不是按照某个固定的顺序进行的,是随机产生的,无规律可言。
参考博客:https://blog.csdn.net/zyj0813/article/details/78345617
JAVA多线程间隔时间段执行方法的更多相关文章
- java 多线程中的wait方法的详解
java多线程中的实现方式存在两种: 方式一:使用继承方式 例如: PersonTest extends Thread{ String name; public PersonTest(String n ...
- Java多线程之控制执行顺序
概念: 多线程在并发环境中的正常执行顺序是随机无序的,并不能按照期盼的结果输出. 因为启动一个线程时,线程并不会立即执行,而是等待CPU的资源调度,CPU能调度哪个线程,是通过多种复杂的算法计算而来. ...
- java多线程中用到的方法详细解析
在多线程学习的过程中涉及的方法和接口特别多,本文就详细讲解下经常使用方法的作用和使用场景. 1.sleep()方法. 当线程对象调用sleep(time)方法后,当前线程会等待指定的时间(t ...
- java 多线程 集合的包装方法Collections.synchronizedXXXXX;线程安全的集合类:Java.util.concurrent.ConcurrentXXX;java.util.concurrent.CopyOnWriteXXXX
问题:ArrayList 等线程不安全 当多线程并发修改一个集合数据时,可能同一个下标位置被覆盖. 示例代码: 一个List,我们创建10个线程,每个线程往这个List中添加1000条数据,结果往往 ...
- 【JAVA多线程中使用的方法】
一.sleep和wait的区别. 1.wait可以指定时间,也可以不指定. 而sleep必须制定. 2.在同步的时候,对于CPU的执行权和以及锁的处理不同. wait:释放执行权,释放锁. sleep ...
- Java多线程中的join()方法
一.join()方法介绍 join() 定义在Thread.java中.join()方法把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的join( ...
- 浅谈Java多线程中的join方法
先上代码 新建一个Thread,代码如下: package com.thread.test; public class MyThread extends Thread { private String ...
- Java多线程中的join方法
新建一个Thread,代码如下: package com.thread.test; public class MyThread extends Thread { private String name ...
- java 多线程——join()方法
在java语言中,join()方法的作用是让调用该方法的线程在执行完run()方法后,再执行join 方法后面的代码. 简单点说就是,将两个线程合并,用于实现同步的功能. 具体而言:可以通过线程A的j ...
随机推荐
- AcWing 39. 对称的二叉树
地址 https://www.acwing.com/problem/content/description/38/ 题目描述请实现一个函数,用来判断一棵二叉树是不是对称的. 如果一棵二叉树和它的镜像一 ...
- UVA1401 Remember the word DP+Trie
问题描述 洛谷(有翻译) 题解 DP,设\(opt_i\)代表前\(i\)个字符方案数. Trie优化,刷表法. \(\mathrm{Code}\) #include<bits/stdc++.h ...
- Go 字节 (byte) & 文字符号 (rune)
byte 通过 byte 定义一个字节,字节必须使用单引号包起来,直接打印字节输出的是 ascii 码,需要通过格式化输出 byte 是 uint8 的别称,使用 byte 主要是为了区分字节和无符号 ...
- Salesforce 开发整理(一)测试类最佳实践
在Sales force开发中完善测试类是开发者必经的一个环节,代码的部署需要保证至少75%的覆盖率,那么该如何写好测试类呢. 测试类定义格式如下: @isTest private class MyT ...
- LeetCode | 机器人能否返回原点
放假的时间已经过去一半了,每天坚持看一个多小时的书,时间虽然不多,但是能专心把书看进去就可以了.今天分享的是 LeetCode 上面的第 657 题,题目是<机器人能否返回原点>,这也是一 ...
- 让iphone5s 支持 flex 布局
/* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;di ...
- c#日期和时间戳互转
using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespac ...
- python基础(5):格式化输出、基本运算符、编码问题
1. 格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ------------ info of Alex Li ----------- Name : ...
- Vue模板语法中数据绑定
1.单项数据绑定 <div id="di"> <input type="text" :value="input_val"& ...
- Winform中在使用Dock属性设计页面布局控件的顺序导致页面效果不同的问题
场景 在Winform中进行页面设计时,常使用控件的Dock属性来进行布局调整.但是由于设置属性的顺序问题,导致达不到想要的效果. 比如以下两个控件 下面的控件设置的Dock属性是Bottom,即在页 ...