1 编一个程序,实现2个线程对 j 变量自增, 2个线程对 j 变量自减

2 代码如下

public class TestThread {public static void main(String[] args) {NewThread nt=new NewThread();new Thread(nt).start(); new Thread(nt).start(); new Thread(nt).start(); new Thread(nt).start();      }}
class NewThread  implements Runnable
{int j=0;String runThreadName = null;public  void run(){while(true){ synchronized(this){try {Thread.sleep(1000);runThreadName = Operation(Thread.currentThread().getName());System.out.println(runThreadName+" : j = " +j);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public String Operation(String threadName){int operation  = Integer.parseInt(threadName.split("-")[1]);String name = null;switch(operation){case 0: j++;name="自增线程1";break;case 1: j++;name="自增线程2";break;case 2: j--;name="自减线程3";break;case 3: j--;name="自减线程4";break;}return name;}
}

java面试题二十九 多线程数据共享问题相关推荐

  1. java面试题二十六 多线程考题

  2. java面试题二十八 从未用过的 native

    一 考题 二 native延伸 native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中.Java语言本身不能对操作系统底层进行访 ...

  3. C语言试题二十九之编写函数int function(int lim,int aa[max])求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。

    1. 题目 编写函数int function(int lim,int aa[max]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数. 2 .温馨提示 C语 ...

  4. java面试题二十五 构造函数

  5. java面试题二十四 继承题2

    对于选项C  int add(int i,int j){} ,前面没有加public ,private等修饰符,则默认为default,以下是private ,protected,public,def ...

  6. java面试题二十 try catch

  7. 【零基础学Java】—final关键字与四种用法(二十九)

    [零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...

  8. 【Microsoft Azure 的1024种玩法】二十九.基于Azure VM快速实现网络入侵检测 (IDS) 及网络安全监视 (NSM)

    [简介] 数据包捕获是一个重要组件,可以实施网络入侵检测系统 (IDS) 并执行网络安全监视 (NSM). 我们可以借助开源 IDS 工具来处理数据包捕获,并检查潜在网络入侵和恶意活动的签名. 使用网 ...

  9. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

最新文章

  1. iOS 项目中包含多个 FFMPEG 方法冲突的通用解决办法。
  2. python 程序运行插件_如何使Python插件在Pluma中运行?
  3. css textarea行数_限制textarea中的行数并使用jQuery显示行数
  4. 可行的DeltaSpike教程
  5. c 连接mysql.mwb_CodeSmith连接mysql提示“找不到请求的 .Net Framework Data Provider”的解决方法...
  6. BZOJ1827[USACO 2010 Mar Gold 1.Great Cow Gathering]——树形DP
  7. 服务器安装linux系统教程
  8. phpstudy的php fpm,浅谈PHP-FPM参数
  9. 数据分析模型篇—安索夫矩阵
  10. [线段树or笛卡尔树+简单KMP]poj4005 or hdu4125 Moles
  11. Python输出1000以内质数代码
  12. 2019最新微信公众平台PHP开发搭建与揭秘(附代码)
  13. c语言检测网络连接,C++ 网络连通性检测的实现方法
  14. ARKit 2推出共享体验
  15. Fate原理(面试必备)
  16. 2021-2027全球与中国工业锂电池市场现状及未来发展趋势
  17. OCR识别之LEADTOOLS介绍
  18. 点评《云计算:从基础架构到最佳实践》
  19. 软件架构设计原则-DIP依赖倒置原则
  20. 阿里云u1服务器通用算力型CPU处理器性能测评

热门文章

  1. 汇编语言 明明定义了栈仍然no stack segment 以及栈空间数据被篡改问题
  2. 牛客网_PAT乙级_10234有理数四则运算(20)【通过5/7:格式错误】
  3. Python基础之:Python中的模块
  4. 程序员如何用糖果实现盈利 - [别人家的程序员01]
  5. Java知识整理——垃圾回收
  6. C/C++数组指针和指针数组
  7. 自然语言处理中的模式(模式0:模式无处不在模式)
  8. jQuery的next()、nextAll()、nextUntil()方法
  9. 假设你有一个数组,其中第i 个元素是第i天给定股票的价格。设计算法以找到最大利润。你可以根据需要完成尽可能多的交易(即,多次买入并卖出一股股票)。注意:您不能同时进行多笔交易(即,您必须在再次购买之前
  10. php sdk微信,GitHub - swayer/wechat-php-sdk: 微信公众平台 PHP SDK