多线程12天--01
来源:互联网 发布:天刀超帅胡歌捏脸数据 编辑:程序博客网 时间:2024/06/07 06:35
多线程间通信
其实就是多个线程在操作同一个资源,
package day12;
class Res{
String name;
String sex;
}
class Input implements Runnable{
Res r;
Input(Res r){
this.r = r;
}
public void run(){
int x = 0;
while(true){
if(x==0){
r.name = "mike";
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
r.sex = "man";
}else{
r.name = "丽丽";
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
r.sex = "女";
}
x = (x+1)%2;
}
}
}
class Output implements Runnable{
Res r;
Output(Res r){
this.r = r;
}
public void run(){
while(true){
System.out.println(r.name+"......."+r.sex);
}
}
}
public class TestDemo1 {
public static void main(String[] args){
Res r = new Res();
Input in = new Input(r);
Output out = new Output(r);
Thread t1 = new Thread(in);
Thread t2 = new Thread(out);
t1.start();
t2.start();
}
}
运行结果:
丽丽.......女
丽丽.......女
mike.......女
丽丽.......女
丽丽.......女
mike.......man
丽丽.......女
丽丽.......女
丽丽.......女
丽丽.......女
丽丽.......man
mike.......man
丽丽.......man
mike.......man
mike.......man
mike.......女
mike.......女
mike.......man
问题:
输入线程和输出线程共用同一资源,出现线程安全问题。
寻找解决办法。
- 多线程12天--01
- 多线程11天-01
- 多线程11天--12
- 多线程12天--02
- 多线程12天--03
- 多线程12天--04
- 多线程12天--05
- 多线程12天--06
- 多线程12天--07
- 多线程12天--08
- 多线程12天--09
- 多线程12天--10
- 多线程01---多线程基础
- 多线程01
- 黑马程序员---Java基础--12天(多线程)
- 黑马程序员 + 第12天 多线程
- Java学习第11-12天:多线程
- 01-多线程01
- Android开发之旅:环境搭建及HelloWorld
- 双向链表的创建删除
- 用rand7()构造rand10()
- 深入理解缓冲区(六)
- Objective C内存管理进阶(二):理解autorelease
- 多线程12天--01
- android 新浪微博客户端开发
- Objective C内存管理进阶(三): 调试内存泄露
- phpbb安装sitemap插件
- 产品时间的合理安排
- 高级字符设备驱动-Poll设备方法笔记
- 求欧拉函数
- CSDN
- em和px