admin 管理员组文章数量: 887021
2023年12月18日发(作者:winform开发pdf)
/** *
放数据 * * @param element * @throws InterruptedException */ public void put(String element) throws InterruptedException { (); try { while (elementCount == ) { (); } elements[putIndex] = element; if (++putIndex == ) { putIndex = 0; } elementCount++; n("after put:" + (elements)); (); } finally { (); } } /** *
取数据 * * @return * @throws InterruptedException */ public String take() throws InterruptedException { (); try { while (elementCount == 0) { (); } String element = elements[takeIndex]; elements[takeIndex] = null; if (++takeIndex == ) { takeIndex = 0; } elementCount--; n("after take:" + (elements)); (); return element; } finally { (); } } public static void main(String[] args) { //启动10个读线程和10个写线程 BoundedContainer boundedContainer = new BoundedContainer(); (0, 10).forEach(i -> new Thread(() -> { try { (); } catch (InterruptedException e) { tackTrace(); } }).start()); (0, 10).forEach(i -> new Thread(() -> { try { ("hi"); } catch (InterruptedException e) { tackTrace();
版权声明:本文标题:理解Java并发编程:JavaLock中的Condition条件使用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702859151h433555.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论