社区
Windows SDK/API
帖子详情
如何在多线程里维护公共数组
山娃马小三儿
2010-08-17 04:31:38
定义了一个公共数组变量,程序里有2个线程,一个为threadconnect,当次线程执行的时候,动态的增加数组长度,一个threaddisconnect,当此线程执行的时候,从数组里删除与此连接有关的变量,这两个线程都是频繁的调用,请问怎么保证公共数组不产生偏差
...全文
100
7
打赏
收藏
如何在多线程里维护公共数组
定义了一个公共数组变量,程序里有2个线程,一个为threadconnect,当次线程执行的时候,动态的增加数组长度,一个threaddisconnect,当此线程执行的时候,从数组里删除与此连接有关的变量,这两个线程都是频繁的调用,请问怎么保证公共数组不产生偏差
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamduo
2010-08-19
打赏
举报
回复
ThreadVar
aa:[0..100] array of integer;
begin
可以试试。
kye_jufei
2010-08-18
打赏
举报
回复
臨界區: InitializeCriticalSection、Synchronize...
互斥: 定義一個互斥量Mutex...
bdmh
2010-08-17
打赏
举报
回复
老之已经告诉你api了,看不懂自己搜索吧,该自己动手,就动动手吧
老之
2010-08-17
打赏
举报
回复
可以啊,临界区定义成全局的,找一下
InitializeCriticalSection,EnterCriticalSection,LeaveCriticalSection这几个API的用法
山娃马小三儿
2010-08-17
打赏
举报
回复
在不同的线程里,能使用临界区么,我没用过啊,哪位给个例子看看啊
bdmh
2010-08-17
打赏
举报
回复
采取互斥,每次只保证有一个线程访问数组
老之
2010-08-17
打赏
举报
回复
使用临界区、互斥锁之类的可以了
java编程规范-性能篇
本word文档时关于java编程规范性能方面的总结。
java基础教程----精华版
java基础教程----精华版,不得不下载的资源
Java Vector集合全面解析:线程安全的动态
数组
摘要: Vector是Java集合框架中线程安全的动态
数组
实现,自JDK1.0引入,通过同步方法保证
多线程
安全,但性能低于ArrayList(默认扩容2倍,ArrayList为1.5倍)。核心特点包括:基于
数组
的快速查询(O(1))、较慢的增删(O(n))、支持索引访问及多种遍历方式(如迭代器、Enumeration)。与ArrayList相比,Vector因同步开销不推荐新项目使用,但在遗留系统或简单
多线程
场景仍有价值。实际开发中,优先选择ArrayList,需线程安全时可使用Collections.sy
Java集合之Vector深度解析:线程安全的动态
数组
实现
Java Vector详解:线程安全的动态
数组
实现 Vector是Java早期版本提供的线程安全动态
数组
类,基于可扩容
数组
实现。其核心特点包括:所有方法均使用synchronized实现线程安全;默认初始容量10,支持指定容量增量或双倍扩容;继承自AbstractList,实现List、RandomAccess等接口。与ArrayList相比,Vector的同步机制带来额外性能开销,但保证线程安全。主要操作如添加、删除元素都涉及
数组
拷贝和扩容处理,扩容策略取决于capacityIncrement参数。
多线程
按顺序执行
一.前言 本文使用了5中方法实现在
多线程
中让线程按顺序运行的方法,涉及到
多线程
中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对
多线程
的使用有更深刻的了解。 使用的方法如下: [1] 使用线程的join方法 [2] 使用主线程的join方法 [3] 使用线程的线程池方法 [4] 使用线程的CountDownLatch(倒计数)方法 [5]使用线程的Semaphore(信...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章