模拟一个场景:
Meten和Eric同时喜欢上了一个妹妹Janet,这两个人就开始追了
Eric追Janet的方式是牺牲色相,他追了50次
Meten追Janet的方式用的是金钱,我追了30次
在追的过程中,如果打印meten的追女孩子的方式有一次是色相,那么这个程序就错了
或者如果打印Eric追女孩子的方式有一次是金钱,那么这个程序就错了
提醒:共享数据,但不共享代码
public class Exec5Demo {
/**
* 共享数据的时候,为了防止出现脏数据,应加锁
*/
public static void main(String[] args){
Girl girl = new Girl("Janet");
Runnable chasingTarget = new ChasingGirlTarget(girl,"用金钱");
Thread chTarget = new Thread(chasingTarget,"Meten");
Thread chasingGirlTarget = new ChasingGril(girl,"牺牲色相","Eric");
chTarget.start();
chasingGirlTarget.start();
}
}
class Girl{
private String name;
public Girl(String name){
this.name = name ;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
/**
* Eric
* @author Administrator
*
*/
class ChasingGril extends Thread{
private Girl girl;
private String method;
public ChasingGril(Girl girl,String method,String name){
super(name);
this.girl = girl ;
this.method = method;
}
public void run(){
String name = Thread.currentThread().getName();
System.out.println(name + "喜欢上" + this.girl.getName());
System.out.println(name + "开始追" + this.girl.getName());
synchronized(girl){
for(int i = 0 ; i < 50; i++ ){
System.out.println(name+this.method+"追"+this.girl.getName() );
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
/**
* Meten
* @author Administrator
*
*/
class ChasingGirlTarget implements Runnable{
private Girl girl ;
private String method ;
public ChasingGirlTarget(Girl girl , String method ){
this.girl = girl ;
this.method = method ;
}
public void run(){
String name = Thread.currentThread().getName();
System.out.println(name + "喜欢上了" + this.girl.getName());
System.out.println(name + "开始追" + this.girl.getName());
synchronized(girl){
for( int i = 0 ; i < 30 ; i++){
System.out.println(name + this.method + "追" + this.girl.getName());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
一款博得女孩子 倾心的软件 不论网络 现实都很适用
六仔源码带数据库 绝对能用 提供给大家研究
宝仔视觉空间宝仔视觉空间宝仔视觉空间宝仔视觉空间
GBA上用来制作电子书的工具软件,可以将TXT文本文件编译成GBA格式,然后在GBA设备上浏览电子书。
明仔PHP精品教程全集内容包含:明仔AJAX教程一看就会,明仔CSS+DIV一分钟学会,明仔PHP+SMARTY留言本(全注释版本),明仔PHP翻译,明仔万能换CSS样式,明仔半小时精通正则表达式,明仔十天学会SMARTY精选教程。
数据库 在里面 hh什么的那个文件 创建好数据库 网站程序跟程序连接即可
服装CAD类,可以打版,放吗,排料。可以1:1输出
大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下: ● 支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API) ● 支持用户搜索中国和国外城市的天气预报 ● 将能够查询...
明仔的php精品教程,包括ajax,div+css,正则,smarty
明仔中文网の卖Q程序
洪仔排课软件是一款专业好用的教学排课软件。软件适用于中小学以及各类辅导机构,可轻松解决跨年级、跨学科的排课设计,实现教学进度一致,教研活动、会议时间固定,单双周课、合班课、选修课、预排课、临时调课、...
②排课质量高:《洪仔排课专家》按照“难易兼排”、“文理兼排”等等多项条件综合排出课表,哪些条件对您来说更重要些,您完全可以为自己的课表“量身定作”,从而排出高质量的课程表;③可排的班级个数无限制!④...
明仔仿QQ下拉,带动画效果明仔仿QQ下拉,带动画效果.rar
向仔linux使用经验
明仔中文网ASP手机交友程序,改改就能用 支持微信访问和UC9。0访问 也可以电脑访问 1首页有几个连接要改 首页地址ssindex.asp 2传照片要上传到服务器 3在就是改搜索页面和注册页面的地名 4在就是用户详细资料...
大陆仔天气预报是一个纯JS版的天气预报,调用了新浪的天气预报接口实现。具体功能如下: ● 支持根据用户IP来显示当地的天气预报 (使用了魔镜的 API) ● 支持用户搜索中国和国外城市的天气预报 ● 将能够查询未来...
明仔带底部上滑出效果(带延时和动画)明仔带动画底部上滑出效果(带延时和动画).zip
欢迎您下载德仔工作室Web技术电子期刊,本刊每月一期,内容包括Web技术、IT人生两大版块,其中Web技术包含网站规划 、经验技巧 、图形动画 、后台设计 、Net专区 、数据库 、Web前瞻 等栏目内容,IT生活包含人在江湖 ...
初中语文文摘生活民间打拐勇士仔仔