关于java thread中一个经典例子的问题
来源:百度知道 编辑:UC知道 时间:2024/05/21 17:24:06
java thread中一个经典的例子就是关于cutomer和producer的同步关系,我想请教一下下面这个例子是否可以确保每个顾客能按照先来后到的顺序被服务。例如:clerk serving ticket 1 是否能确保clerk serving 的就是第一个拿ticket1的那个人。源程序如下:
class Customer:
public class Customer extends Thread {
private static int number = 10000; // Initial ID number
private int id;
private TakeANumber takeANumber;
public Customer( TakeANumber gadget ) {
id = ++number;
takeANumber = gadget;
}
public void run() {
try {
sleep((int)(Math.random() * 2000));
takeANumber.nextNumber(id);
} catch (InterruptedException e) {
System.out.println("Exception: " + e.getMessage() );
}
} // run()
} // Customer
class Clerk:
public class Clerk extends Thread {
private TakeANumber takeANumber;
public Clerk(TakeANumber gadget) {
takeANumber = gadget;
class Customer:
public class Customer extends Thread {
private static int number = 10000; // Initial ID number
private int id;
private TakeANumber takeANumber;
public Customer( TakeANumber gadget ) {
id = ++number;
takeANumber = gadget;
}
public void run() {
try {
sleep((int)(Math.random() * 2000));
takeANumber.nextNumber(id);
} catch (InterruptedException e) {
System.out.println("Exception: " + e.getMessage() );
}
} // run()
} // Customer
class Clerk:
public class Clerk extends Thread {
private TakeANumber takeANumber;
public Clerk(TakeANumber gadget) {
takeANumber = gadget;
生产者消费者的问题?我们也做过这个练习,两个线程的级别都一样高,生产者消费者的数量一样,两个线程没有阻断线程的方法(例如sleep或者wait方法)或者睡眠,等待的时间都一致,基本就是生产一个消费一个了。
java中thread的start()和run()有何区别?
关于java的问题 exception in thread "main".....
Java程序中出现Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0是怎么回事
运行java 中出现 except in thread "main" java.lang.noclassdeffounderror:o 是什么问题?
Java中出现 Exception in thread "main" java.lang.NoClassDefFoundError: Form
java编程中出现“Exception in thread "main" java.lang.NoclassDefFoundError:Test”是怎么回事
请问java中实现Thread类和Runnable接口有什么区别?
在Java中出现这样的错误是什么原因造成的?Exception in thread "main" java.lang.NoSuchMethodError: mai
java Thread 里面的变量能不能访问?
一道关于Thread的题目