A线程在ArrayList中添加数据,B 线程输出此ArrayList中的数据,.怎么做?
求大侠指点下啊!
非常感谢了。
------解决思路----------------------
你把数据放入 ArrayList 之后,紧接着输出刚刚放入的那一个数据就行了。用不着什么“B线程”。
------解决思路----------------------
记得 使用 lock 锁住 List····
------解决思路----------------------
读写都要加锁,
lock内只处理数据进队列或出队列,
不要进行
解析等耗时的操作
lock (yourlQueue.SyncRoot)
{
//do something
}
------解决思路----------------------
加载耗时?那要看你从哪里加载
你以为2个线程互相传递数据就不耗时么
耗时不耗时,都是相对的.
只要看起来不卡,你管它后台到底用时1ms还是100ms,有任何区别?
------解决思路----------------------
你非要2个线程做,就开2个线程呗.有什么问题
------解决思路----------------------
你是哪一步出现问题,还是没有思路,还是整个都不会?
比如开个线程如何开,知道么
------解决思路----------------------
在内存做这种多线程没有意义。
在内存中,资源足够,而且数据逻辑复杂时,单线程更高效。
多线程[最好是异步]加载外部资源[IO],一个线程判断内存中资源是否足够,足够时立刻执行内容刷新。
------解决思路----------------------
百度c#创建线程
------解决思路----------------------
线程还要考虑效率的问题,用readwritelock slim 这东西。
------解决思路----------------------
额,你这应该把需加载进程分类。给每一类创建一个线程去执行。其实你应该是显示一个,就从列表中删除掉它对吧?
------解决思路----------------------
使用单实例模式呀。
你定义一个单实例,在A中向这个实例写数据
B中负责读不就OK了么。记得在单实例内读写的位置都要加锁
------解决思路----------------------
既然用到读写流了,还开什么线程;开线程是多余的;