2 qq 25134045 qq_25134045 于 2016.03.11 19:28 提问

关于java 中的线程同步问题,求大神解释。

对于一个已经继承了Runnable 接口的类来说,假设创建了一个它的实例为 account,
那么:
for(int i=0;i<500;i++)
{
new Thread(account).start();

}
不会造成500个线程同步访问同一资源而引发冲突?

为什么:
                        private ExecutorService executor = Executors.newCachedThreadPool();                //在线程池中为每个等待的任务创建一个线程
                        for(int i=0;i<500;i++)
                        {
                                        executor.execute(account);  
                        }
                        这样就会造成线程同步访问同一临界资源冲突呢?

1个回答

qq_25134045
qq_25134045   2016.03.11 19:47

或者说,其实都能产生线程同步访问同一临界资源冲突的情况,只不过后者可以在临界资源程序块 加上 synchronized 关键字,使其变成线程安全的;
而前者加上也不起作用呢?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!