微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使线程等到变量初始化?

如何解决如何使线程等到变量初始化?

我正在用我的主要方法来创建10个类型为java.sql.Connection的对象的列表,以实现ConnectionPool。然后,我将创建10个线程,这些线程将使用这些连接来执行查询,然后释放它们。我面临的问题是在我的函数中,我从一个列表中删除了Connection,然后将它们添加到另一个列表中。有多个线程到达它们的线程,他们尝试从列表中获取Connection对象,并且我的列表抛出indexoutofboundsexception,因为它无法从大小为0的列表中删除元素。

我的代码如下: public Connection getConnection() { Connection c=cList.remove(cList.size()-1); usedList.add(c); }

我的删除函数中出现了几个线程的indexoutofboundsexception

我的代码或线程的工作速度比创建对象快吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。