多线程
来源:互联网 发布:matlab矩阵qr分解 编辑:程序博客网 时间:2024/06/06 04:48
多线程
1、线程同步:synchronized
2、同步方法:
public synchronized void sale(){
线程处理的操作
}
3、同步代码块:
synchronized(object){
线程处理的操作
}
4、同步方法和同步代码块一起同步:设定条件,通过条件来满足要调用的代码。
例:
public class ThreadThird {
public static void main(String[] args) {
Q a = new Q();
new Thread(new Changed(a)).start();
new Thread(new Readed(a)).start();
}
}
class Q {
String name = "unknow";
String sex = "unknow";
boolean bfull=false;
public synchronized void put(String name, String sex) {
if(bfull){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
this.name = name;
this.sex = sex;
bfull=true;
notify();
}
public synchronized void get() {
if(!bfull){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}}
System.out.println(name + ":" + sex);
bfull=false;
notify();
}
}
class Changed implements Runnable {
Q q = null;
public Changed(Q q) {
this.q = q;
}
public void run() {
int i = 0;
while (true) {
if (i == 0) {
q.put("张三", "男");
} else {
q.put("张丽", "女");
}
i = (i + 1) % 2;
}
}
}
class Readed implements Runnable {
Q q = null;
public Readed(Q q) {
this.q = q;
}
public void run() {
while (true) {
q.get();
}
}
}
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 大师来自巧匠
- IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
- C++学习(4)——继承中的二义性问题和虚基类
- Arduino Duemilanove简介
- 微软发布Visual Studio 2012 示例代码浏览器
- 多线程
- scp命令
- BADI 修改采购订单的shipping point示例
- 金山员工猝死:莫让青春负重前行
- oracle日期转换及时间差
- 告诉Xcode在编译时对单个文件开启ARC功能
- 心醉七夕
- 深入浅出 - Android系统移植与平台开发(一)
- The MySQL C API 编程实例 (详细讲解)