java多线程案例8-4工人搬砖
题目:在某个工地,需要把100块砖搬运到二楼,现在工人张三和李四,张三每次搬运3块砖,每趟需要10分钟,李四每次搬运5块砖,每趟需要12分钟。本案例要求编写程序分别计算两位工人搬完100块砖需要多长时间。本案例要求使用多线程的方式实现。
代码如下:
package GGS2; class Bricks implements Runnable { private int time = 0; public void run() { if (Thread.currentThread().getName().equals("张三")) { zsmovebricks(); } else if (Thread.currentThread().getName().equals("李四")) { lsmovebricks(); } } private synchronized void zsmovebricks() { time = (int) Math.ceil((double) 100 / (double) 3) * 10; System.out.println(Thread.currentThread().getName() + "搬完100块砖需要" + time + "分钟。"); } private synchronized void lsmovebricks() { time = 100 / 5 * 12; System.out.println(Thread.currentThread().getName() + "搬完100砖需要" + time + "分钟。"); } } public class MoveBricks { public static void main(String[] args) { Bricks bricks = new Bricks(); new Thread(bricks, "张三").start(); new Thread(bricks, "李四").start(); } }
代码运行如下:
下一篇:
「Java」斐波那契数列