A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩彦军 中级黑马   /  2016-6-30 20:39  /  3552 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
多线程什么时候不安全?

最佳答案

查看完整内容

没有锁的情况{:2_43:}

6 个回复

倒序浏览
没有锁的情况{:2_43:}
回复 使用道具 举报
操作同一数据   没有锁的时候
回复 使用道具 举报
操作公共资源的时候,
回复 使用道具 举报
多线程并发操作同一数据时,就有可能出现线程安全问题。
下面就会出现线程安全问题
package com.itheima.syn;
/*
* 铁路售票,一共100张,通过四个窗口售完
* */
public class Demo3_Ticket {
        public static void main(String[] args) {
                new Ticket().start();
                new Ticket().start();
                new Ticket().start();
                new Ticket().start();
        }
}
//锁的两种类型.
class Ticket extends Thread {
        private static int ticket = 100;
        public void run() {
                while(true) {
                        //synchronized(Ticket.class) {//2.用该类的字节码对象作为锁对象
                        if(ticket <= 0) {
                                break;
                        }
                        try {
                                Thread.sleep(10);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                        System.out.println(getName() + "第" + ticket-- + "票正在售.");               
                }
               
        }
}

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
多个线程要操作同一个数据时,并且又没有锁,就会出现安全问题
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
无同步,且操作同一数据时
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马