编程开发之--java多线程学习总结(6)
5、测试
package com.lfy.ThreadsSynchronize;
public class Test {
public static void main(String[] args) {
//创建 3 个窗口
// TicketSell1 t1 = new TicketSell1("A窗口");
// TicketSell1 t2 = new TicketSell1("B窗口");
// TicketSell1 t3 = new TicketSell1("C窗口");
// t1.start();
// t2.start();
// t3.start();
/**==================1、使用同步代码块解决=====================*/
// TicketSellSolution1 t1 = new TicketSellSolution1("A窗口");
// TicketSellSolution1 t2 = new TicketSellSolution1("B窗口");
// TicketSellSolution1 t3 = new TicketSellSolution1("C窗口");
// t1.start();
// t2.start();
// t3.start();
/**==================2、使用同步方法(貌似同步方法不能解决同步问题)=====================*/
// TicketSellSolution2 t1 = new TicketSellSolution2("A窗口");
// TicketSellSolution2 t2 = new TicketSellSolution2("B窗口");
// TicketSellSolution2 t3 = new TicketSellSolution2("C窗口");
// t1.start();
// t2.start();
// t3.start();
/**==================3、使用锁机制(貌似同步方法不能解决同步问题)=====================*/
// TicketSellSolution3 t1 = new TicketSellSolution3("A窗口");
// TicketSellSolution3 t2 = new TicketSellSolution3("B窗口");
// TicketSellSolution3 t3 = new TicketSellSolution3("C窗口");
// t1.start();
// t2.start();
// t3.start();
/**==================3、使用锁机制(貌似同步方法不能解决同步问题)=====================*/
// Thread t1 = new Thread(new TicketSellSolution4());
// Thread t2 = new Thread(new TicketSellSolution4());
// Thread t3 = new Thread(new TicketSellSolution4());
// t1.start();
// t2.start();
// t3.start();
}
}
部分内容参考自网络:http://www.cnblogs.com/handsomeye/p/5999362.html
http://www.cnblogs.com/dolphin0520/p/3923167.html
http://www.cnblogs.com/handsomeye/p/5999362.html
编程开发之--java多线程学习总结(6)的更多相关文章
- 编程开发之--java多线程学习总结(1)问题引入与概念叙述
1.经典问题,火车站售票,公共票源箱,多个窗口同时取箱中车票销售 package com.lfy.ThreadsSynchronize; /** * 解决办法分析:即我们不能同时让超过两个以上的线程进 ...
- 编程开发之--java多线程学习总结(5)
4.对继承自Runnable的线程进行锁机制的使用 package com.lfy.ThreadsSynchronize; import java.util.concurrent.locks.Lock ...
- 编程开发之--java多线程学习总结(4)
3.使用锁机制lock,unlock package com.lfy.ThreadsSynchronize; import java.util.concurrent.locks.Lock; impor ...
- 编程开发之--java多线程学习总结(2)同步代码块
1.第一种解决办法:同步代码块,关键字synchronized package com.lfy.ThreadsSynchronize; /** * 1.使用同步代码块 * 语法: synchroniz ...
- 编程开发之--java多线程学习总结(3)类锁
2.使用方法同步 package com.lfy.ThreadsSynchronize; /** * 1.使用同步方法 * 语法:即用 synchronized 关键字修饰方法(注意是在1个对象中用锁 ...
- Java多线程学习(转载)
Java多线程学习(转载) 时间:2015-03-14 13:53:14 阅读:137413 评论:4 收藏:3 [点我收藏+] 转载 :http://blog ...
- Java多线程学习(三)volatile关键字
转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79680693 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...
- Java多线程学习(一)Java多线程入门
转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79640870 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...
- 转:Java多线程学习(总结很详细!!!)
Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢? 本文主要讲java中多线程 ...
随机推荐
- hack vba password, en useful...
Unbelivibale, but I found a very simple way that really works! Do the follwoing: 1. Create a new sim ...
- DevExress笔记
最近用DevExpress的WPF图表控件做柱形图看板,总结记录了一些笔记: 1.显示图例: <dxc:ChartControl.Legend> <dxc:Legend /> ...
- hashlib 算法介绍
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...
- winnfsd 操作
# 查看服务端输出了哪些目录,如何挂载 vagrant@homestead:~$ showmount -e 192.168.10.1 Export list for 192.168.10.1: /C/ ...
- Zookeeper 目录
Zookeeper 目录 Zookeeper 致力于提供一个高性能.高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺序性)的分布式协调服务.以下是我整理的笔记. 一.分布式理论基础 1.1 ...
- 一次清理Hbase的oldWALs的过程
HBase版本:1.3.1 Hadoop版本:2.7.1 Zookeeper版本:3.4.6 --------------------------------- 检查线上业务系统的磁盘空间, 发现HD ...
- POJ 2778 DNA Sequence (AC自动机+DP+矩阵)
题意:给定一些串,然后让你构造出一个长度为 m 的串,并且不包含以上串,问你有多少个. 析:很明显,如果 m 小的话 ,直接可以用DP来解决,但是 m 太大了,我们可以认为是在AC自动机图中,根据离散 ...
- Log4Net配置使用简记
1,引用Log4Net.dll .当前为2.0.8.0版,可添加Nuget包.我的办法是从下载的包中直接引用相应.net版本的dll以减小项目体积 2,在App.config中增加<sectio ...
- ZOJ2208 To and Fro 2017-04-16 19:30 45人阅读 评论(0) 收藏
To and Fro Time Limit: 2 Seconds Memory Limit: 65536 KB Mo and Larry have devised a way of encr ...
- Java动态代理(一)动态类Proxy的使用
1.什么是动态代理? 答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实.代理一般会实现它所表示的实际对象的接口.代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统 ...