关闭

多线程共享变量

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

题目如下:

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

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


这是卖票程序的例子


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


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




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33825次
    • 积分:819
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:25篇
    • 译文:1篇
    • 评论:4条
    最新评论