编程开发之--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中多线程 ...
随机推荐
- java通过经纬度计算两个点的之间的距离的算法
通过两个点的经纬度计算距离 从google maps的脚本里扒了段代码,没准啥时会用上.大家一块看看是怎么算的. private const double EARTH_RADIUS = 6378.13 ...
- 06 Python字符编码与文件处理
python垃圾回收机制: python中的垃圾回收机制是以引用计数为主,分代收集为辅,引用计数的缺陷是循环引用的问题,一个对象的引用数为0 ,那么这个对象就会被python虚拟机回收内存 字符编码 ...
- 利用BeanUtils.copyProperties 克隆出新对象,避免对象重复问题
1.经常用jQuery获取标签里面值val(),或者html(),text()等等,有次想把获取标签的全部html元素包括自己也用来操作,查询了半天发现$("#lefttr1"). ...
- Linux的磁盘分区(一)
磁道:track 扇区:sector 磁头:head 柱面:cylinder 每个扇区,512字节 每个磁道划分为63个扇区 逻辑磁头(盘面)数设为255 一个柱面的大小 =255 * 63 * 51 ...
- RocketMQ 加载配置文件
BrokerStartup.java // 指定配置文件 if (commandLine.hasOption('c')) { String file = commandLine.getOptionVa ...
- cron.c
/* $OpenBSD: cron.c,v 1.39 2007/02/18 23:59:03 jmc Exp $ */ /* Copyright 1988,1990,1993,1994 by Paul ...
- nancyfx的安装笔记
这个安装时很简单的 只要 Install-Package Nancy.Hosting.Aspnet 就行了. 需要注意的是,千万不要用那个模板安装,通过创建nancyfx类型项目的方式安装是有问题的. ...
- Sqler 工具更新
新加入打分邮件,针对每台db 服务器应用情况分析打分,目前支持batch.duration.cpu 3个维度.后续会支持 read io.write io.network io 等.自动化,数字化是衡 ...
- java分页实例Demo
前两天测试过的一个分页的demo,在网上看到的,挺好的,就写了下来. 分页也是web里面必须的,有使用的价值. demo文件打包上传了,链接:http://pan.baidu.com/s/1o6sME ...
- 由于没有公钥,无法验证下列签名 Ubuntu
问题:执行 apt-get update 时错误 W: GPG 错误:https://apt.dockerproject.org ubuntu-trusty InRelease: 由于没有公钥,无法验 ...