关闭

多线程共享变量

429人阅读 评论(0) 收藏 举报
分类:

题目如下:

设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。

如果每个线程执行的代码相同 ,可以使用同一个runnable对象,这样在不同的线程中只需要把这个runnable对象传到里面去即可,因为runnable对象的run方法天热原子性,不可能run方法被打断,一个run方法执行完后可能会切换到另一个线程的run方法 ,所以可以实现线程同步,例如买票程序火车票这样的程序可以这样设计


这是卖票程序的例子


接下来说如果要实现的线程代码不同,比如上面的题目 有的要加有的要减,这个时候我们需要有两个runnable对象,在run方法里面对同一个对象执行不同的操作 如下


如上所示 我们的数据对象只有一个data1,但是我们的runnable对象有两个,操作同一个对象,一个对它加一个对它减




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

java多线程的共享变量访问控制实例

最近打算去一家电商公司,对于高并发的数据访问控制有着严格的要求,近期打算把多线程的知识在好好补一下。 线程调度有五个状态; 开始,可运行,运行,阻塞,死亡。 启动线程有两种方法。继承Thread...
  • micro_hz
  • micro_hz
  • 2015-09-11 15:44
  • 3322

多线程中的使用共享变量的问题

一组并发线程运行在一个进程的上下文中,每个线程都有它自己独立的线程上下文,例如:栈、程序计数器、线程ID、条件码等,每个线程和其它的线程一起共享除此之外的进程上下文的剩余部分,包括整个用户的虚拟地址空...
  • u012138828
  • u012138828
  • 2014-09-09 22:07
  • 1955

JAVA 并发编程-线程范围内共享变量(五)

线程范围内共享变量要实现的效果为: 多个对象间共享同一线程内的变量未实现线程共享变量的demo:package cn.itcast.heima2; import java.util.HashMap;...
  • hejingyuan6
  • hejingyuan6
  • 2015-07-23 15:43
  • 5105

条件变量交替控制多线程共享资源

  • 2012-08-20 12:48
  • 3KB
  • 下载

java并发-多线程之线程范围内共享变量(5)

线程范围内共享变量要实现的效果为:   多个对象间共享同一线程内的变量 未实现线程共享变量的demo: [java] v...
  • fangqun663775
  • fangqun663775
  • 2018-01-03 14:50
  • 45

多线程读写共享变量时,synchronized与volatile的作用

在《effective java》中看的的知识点,在工作中确实遇到了~ 关键字synchronized可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一个代码块。 同步并不是单单指线程之间...
  • Derek_BMW
  • Derek_BMW
  • 2014-10-21 22:47
  • 2496

linux多线程中的共享变量

http://www.yuanma.org/data/2007/1108/article_2883.htm当解决多线程互斥同步的问题时,经常会有如下几个问题:1. 在一个给定的问题中,需要多少个Mut...
  • QIBAOYUAN
  • QIBAOYUAN
  • 2011-01-06 17:36
  • 3920

用关中断和互斥量来保护多线程共享的全局变量

第60节:用关中断和互斥量来保护多线程共享的全局变量 2016-03-15 10:17:29   来源:eefocus    关键字: 关中断  互斥量  多线程共享  全局变量...
  • just_feeling2012
  • just_feeling2012
  • 2016-08-08 14:58
  • 544

多线程 : ThreadLocal 实现线程间共享变量隔离例子

package thread; import java.util.Random; public class ThreadLocalShareDataDemo { /** * ThreadL...
  • hackeraaa
  • hackeraaa
  • 2016-03-13 11:46
  • 333

Java多线程共享变量控制

两条规定:   a.线程对共享变量的所有操作必须在工作内存中进行,不能直接操作主内存   b.不同线程间不能访问彼此的工作内存中的变量,线程间变量值的传递都必须经过主内存   如果一个线程...
  • jerrysbest
  • jerrysbest
  • 2016-02-28 09:07
  • 213
    个人资料
    • 访问:44006次
    • 积分:925
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:25篇
    • 译文:1篇
    • 评论:4条
    最新评论