用java求三角形的周长和面积 联系客服

发布时间 : 星期二 文章用java求三角形的周长和面积更新完毕开始阅读41f7c6f9d05abe23482fb4daa58da0116c171fc9

public class OODemol002 {

public static void main(String[] args) { Container c = new Container();

Thread t1 = new Thread(new Laundryman(

c, 1));

Thread t2 = new Thread(new Laundryman(c, 2)); Thread t3 = new Thread(new WashingWorker(c, 1)); Thread t4 = new Thread(new WashingWorker(c, 2)); t1.start(); t2.start(); t3.start(); t4.start(); } }

class Clothes { int in;

public Clothes(int index) { this.in = index; } }

class Container {

Clothes[] clothes = new Clothes[6]; int index = 0;

public synchronized void push(Clothes c) { while (index == clothes.length) { try {

this.wait();

} catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

this.notify();

clothes[index] = c; index++; }

public synchronized Clothes pop() { while (index == 0) { try {

this.wait();

} catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

this.notify(); index--;

return clothes[index]; } } /**

* 编写程序,使用多线程模拟实现洗衣房工作的示例。条件如下: 1. 洗衣工2人(对应2个线程) 2. 晾衣工2人 3. 共50件衣服 4. * 洗衣工每2秒洗1件衣服 5. 晾衣工每1秒晾1件衣服 **/

class Laundryman implements Runnable { Container container; int id;

public Laundryman(Container container, int id) { // TODO Auto-generated method stub this.container = container; this.id = id; }

public void run() {

// TODO Auto-generated method stub Clothes c = null; try {

for (int i = 0; i < 25; i++) { Thread.sleep(2000); c = new Clothes(i);

System.out.println("洗衣工" + id + "洗了衣服:" + c.in); container.push(c); }

} catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace();

} } }

class WashingWorker implements Runnable { Container container; int id;

public WashingWorker(Container container, int id) { this.container = container; this.id = id; }

public void run() {

// TODO Auto-generated method stub for (int i = 0; i < 25; i++) { Clothes c = container.pop();

System.out.println("晾衣工" + id + "晾了衣服:" + c.in); try {

Thread.sleep(1000);

} catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }