多线程面试题
2016-03-11 21:47
274 查看
一、多线程共享变量
方法一:以变量共享的方式进行操作
public class AddMinusOperate {
private int j=5;
public synchronized void add() {
j++;
}
public synchronized minus() {
j--;
}
class AddThread implements Runnable {
public void run() {
add();
}
}
class MinusThread implements Runnable {
public void run {
minus();
}
public static void main(String [] args){
AddMinusOperate addMinus = new AddMinusOperate();
AddThread addThread = addMinus.new AddThread();
MinusThread minusThread = addMinus.new MinusThread();
for(int i=0;i<2;i++) {
new Thread(addThread).start();
new Thread(minusThread).start();
}
}
}
方式二、通过多线程值传递的方式进行操作
方法一:以变量共享的方式进行操作
public class AddMinusOperate {
private int j=5;
public synchronized void add() {
j++;
}
public synchronized minus() {
j--;
}
class AddThread implements Runnable {
public void run() {
add();
}
}
class MinusThread implements Runnable {
public void run {
minus();
}
public static void main(String [] args){
AddMinusOperate addMinus = new AddMinusOperate();
AddThread addThread = addMinus.new AddThread();
MinusThread minusThread = addMinus.new MinusThread();
for(int i=0;i<2;i++) {
new Thread(addThread).start();
new Thread(minusThread).start();
}
}
}
方式二、通过多线程值传递的方式进行操作
相关文章推荐
- 程序员笔试面试基础知识资料整理
- 程序员你会修电脑吗?
- 【面试】get和post的区别
- MySQL数据库面试
- Google面试题,excel十进制字符串转换(java)
- 【面试经典题之链表】
- leetcode之Minimum Height Trees
- 剑指offer代码解析——面试题11求a的b次方
- 剑指offer代码解析——面试题11求a的b次方
- 面试后一点反思和毕设计划
- [.Net码农]DragDrop 注册失败的问题
- 程序员编程能力层次模型
- 最新前端开发面试题集合(非常全面)
- 数据库笔试和面试小结
- 程序员的春天来了,赏花去!说走就走
- 程序员的春天来了,最美赏花旅游地十大攻略
- 一起来做品质宅:漫话程序员们的家庭装修
- 第一篇CSDN博客,记录准备面试的种种
- 程序员必须知道的10大基础实用算法及其讲解
- 程序员如何写出牛掰的简历