直接贴代码:觉得非常实用!
package lab_11;
import java.util.LinkedList;
public class NumStore {
LinkedList<Integer> list = new LinkedList<Integer>();
Integer i = 1;
public synchronized Integer push(){
list.add(++i);
//必须在获得锁的情况下才能调用notifyAll和wait方法
this.notifyAll();
return i;
}
public synchronized Integer pop(){
while(list.isEmpty()){
try {
//
wait();//在这里阻塞了
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return list.remove(0);
}
}
package lab_11;
public class QuHao extends Thread{
private NumStore ns ;
private String name;
public QuHao(String name,NumStore ns){
this.name = name;
this.ns = ns;
}
public void run(){
while(true){
System.out.println("您的号码是:"+ns.push()+",请排队等候叫号。。");
try {
Thread.sleep((int)(Math.random()*1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
package lab_11;
//派叫号系统
public class PaiJiaoHaoSystem {
/**
* @param args
*/
public static void main(String[] args) {
NumStore ns = new NumStore();
QuHao q1 = new QuHao("取号机1",ns);
QuHao q2 = new QuHao("取号机2",ns);
Window w1 = new Window("窗口1",ns);
Window w2 = new Window("窗口2",ns);
Window w3 = new Window("窗口3",ns);
q1.start();
q2.start();
w1.start();
w2.start();
w3.start();
}
}
分享到:
相关推荐
� 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发 既 有用又有吸引力的移动...
程序通过多线程实现压力传感器、语音模块、post网页数据发送等功能具体实现过程是: 通过HX711压力传感模块读取水果质量, 并通过语音模块进行播放,将水果的种类、质量通过http的post请求传送到网页端, 通过网页端...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
基于图像处理的水果自助售卖系统(研究生电赛) 通过CT-LO200 USB2.0 2MP摄像头进行图像采集,将采集到的图片传到AM5708的工业派中, 通过opencv模块对图像进行处理,识别到水果种类后,传递到全局变量中, 程序通过多...
程序通过多线程实现压力传感器、语音模块、post网页数据发送等功能具体实现过程是: 通过HX711压力传感模块读取水果质量, 并通过语音模块进行播放,将水果的种类、质量通过http的post请求传送到网页端, 通过网页端...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件...
·使用线程和派生子进程的选项并发地运行多个任务 ·使用网络工具从一个进程传送信息到另一个进程 ·创建更易互动的可点击图形界面工具 ·通过与SNMP交互来用程序监控大型多个集群机器 ·掌握IPython的命令环境来...
作者也学习了线程的生命周期、start()方法和run()方法,并了解到多线程的概念。作者还学习了I/O的概念,即在JVM和外部数据源之间交换数据,并了解到输入流和输出流、字节流和字符流、过滤流等。 第五周实习 在第五...
分布式系统是多个计算机通过网络协同工作,以提供单一的整体服务的计算模型。这些系统的特点包括:分布性、透明性、并发性、容错性、可扩展性和资源共享。透明性主要体现在位置透明性、复制透明性、移动透明性和失败...
3. 多线程:多线程可以提高程序执行效率,线程间通信需注意同步和锁机制,如synchronized关键字。 4. 输入输出流:Java的IO体系,分为字节流和字符流,以及过滤流(如BufferedReader、BufferedWriter)用于增强节点...
我之前也用过RT-Thread系统,不过都是基于WIFI模块二次开发,本次是第一次使用RT-Thread开发STM32,项目,RT-Thread丰富的文档视频资料是我学习过程中的极大助力,通过RT-Thread + CubMX极大的提高了开发效率,由衷的...
`gcc`允许我们在编译时通过`-l`选项指定需要链接的库,例如`-lm`链接数学库,`-lpthread`链接多线程库。 4. **头文件和系统求助** 头文件(如`.h`文件)包含了函数原型、宏定义和其他声明。在C语言中,`#include`...
本 Java 实习周记记录了作者在 Java 实习期间的学习经验和总结,涵盖了 Java 基础知识、Java 高级语法、Java 线程和 Collection 框架等方面的知识点。 一、Java 基础知识 * 类之间的关系:关联、聚合、继承、...
使用`<pthread.h>`头文件,可以在C程序中创建和管理线程,实现多线程并发执行。 12. **网络编程** 网络编程涉及套接字(socket)操作,`<sys/socket.h>`头文件提供了创建、连接、监听、发送和接收数据的接口。 ...
在第五周,作者使用Collection框架来实现一个派叫号系统,包括产品参与者、功能需求和系统设计等。 本文档涵盖了Java语言的基础知识和高级应用,以及实习过程中的经验和体会。作者通过实习,逐渐熟悉了Java语言和...