求解JAVA编程题:编写一个应用程序,创建三个线程分别显示各自的运行时间

}new Thread(new Runnable() {public void run() {while(true) {if (s.get()==threadNum) {System.out.println(integer.get());break;}}}).start();}public static class MyThread implements Runnable {@Overridepublic void run() {long startTime = System.currentTimeMillis();try {Thre...
求解JAVA编程题:编写一个应用程序,创建三个线程分别显示各自的运行时间
import java.util.Calendar;
import java.util.concurrent.locks.Lock;

public class MultiThread {
static Lock mylock;
public static void main(String[] args) {
RunningObject1 r1 = new RunningObject1();

Thread t1 = new Thread(r1, "t1");
Thread t2 = new Thread(r1, "t2");
Thread t3 = new Thread(r1, "t3");
t1.start();
t3.start();
t2.start();
}

static class RunningObject1 implements Runnable {
public void run() {
synchronized(this){
String name=Thread.currentThread().getName();
System.out.println(name+"开始时间:"+Calendar.getInstance().getTimeInMillis());

for (int i = 0; i < 100000000; i++) {
if (i == 9999999) {
System.out.println(name+"结束时间:"+Calendar.getInstance().getTimeInMillis());
break;
}
}
}
}
}

}2010-11-24
public class ThreadE{
class Thread2 implements Runnable{
public void run(){
System.out.println(Thread.currentThread().getName()+" run "+Calendar.getInstance().getTime());
}
}

public static void main(String[] args) {
ThreadE te = new ThreadE();
new Thread(te.new Thread2()).start();
new Thread(te.new Thread2()).start();
new Thread(te.new Thread2()).start();
}
}2010-11-24
public class ThreadRuningTime {public static AtomicInteger integer = new AtomicInteger(0);public static AtomicInteger s = new AtomicInteger(0);public static int threadNum = 3;public static void main(String[] args) {for (int i = 0; i < threadNum; i++) {new Thread(new MyThread()).start();}new Thread(new Runnable() {public void run() {while(true) {if (s.get()==threadNum) {System.out.println(integer.get());break;}}}}).start();}public static class MyThread implements Runnable {@Overridepublic void run() {long startTime = System.currentTimeMillis();try {Thread.sleep(new Random().nextInt(2000));} catch (InterruptedException e) {e.printStackTrace();}for (int i = 0; i < 10000000; i++) {integer.incrementAndGet();}System.out.println(Thread.currentThread().getName()+" running time "+(System.currentTimeMillis()-startTime+"ms"));s.incrementAndGet();}}}
2017-08-28
用Calendar的话,打印时间的地方就改为Calendar.getInstance().getTime()
我很奇怪,为什么代码贴不上来?? 图片也插入不了?

2010-11-23
import java.util.Calendar;
public class MyThread implements Runnable{
String name;
public MyThread(String name){
this.name = name;
}
@Override
public void run() {
Calendar time1 = Calendar.getInstance();
long t1 = time1.getTimeInMillis();
/*---------------------
线程体
-----------------------------------*/
Calendar time2 = Calendar.getInstance();
long t2 = time2.getTimeInMillis();
System.out.println("线程"+name+"运行时间为:"+(t2-t1)+"毫秒");
}

}
2017-08-24
public void run(){
Long start=System.currentTimeMillis();
线程代码;

Long end=System.currentTimeMillis();
System.out.println(Thread.currentThread().getName+"线程执行的时间是:"+(end-start)+"毫秒");
}2017-08-29
可以做到,你可以把多个线程同时运行的方法或代码块声明为synchronized的,这样的话,就不会相互影响了。具体可以查一下Synchronized的用法2017-08-27
mengvlog 阅读 6 次 更新于 2025-07-19 19:47:52 我来答关注问题0
  • public class ThreadRuningTime {public static AtomicInteger integer = new AtomicInteger(0);public static AtomicInteger s = new AtomicInteger(0);public static int threadNum = 3;public static void main(String[] args) {for (int i = 0; i < threadNum; i++) {new Thread(new MyThread...

  • public static void main(String args[]) {int num=0;//保存总成绩for(int i=1;i

  •  磬石163 JAVA 编程题求教

    import java.awt.event.*;import java.awt.*;import javax.swing.*;public class List1 extends JFrame implements ActionListener { private JLabel lstName;private JTextField txfName;private JTextArea txaName;private JButton btnClose;public List1(){ lstName = new JLabel("请输入你的姓名:...

  •  corruptsatan Java基础编程题求解

    import java.util.Scanner;/ author ww / public class Test { public static void main(String[] args) { Scanner s = new Scanner(System.in);System.out.println("输入一个正整数n(n>=2)");int n = s.nextInt();StringBuilder sb = new StringBuilder();boolean has = false;for(int ...

  •  百度网友1f9c3e2 java的一道题,求个代码,怎么做,求解?

    package day04;import java.util.Scanner;public class Demo08 { / 个人所得税计算 / public static void main(String[] args) { double salary;// 薪水,税前薪资 double payTax;// 应税薪资 double tax;// 税 double income;// 税后收入 Scanner scanner = new Scanner(System.in);System....

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部