如何实现这样的多线程?

crackatom 2004-01-08 04:26:52
初做多线程,想做一个比如100个线程相互不冲突不干扰,可以单独添加或者杀掉的多线程程序,有高手给个思路吗?最好有代码可以直观点。
...全文
67 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hedonism 2004-01-11
  • 打赏
  • 举报
回复
UP
halfdream 2004-01-11
  • 打赏
  • 举报
回复
节制点使用线程,
就算线程安全性处理得很好,一个应用程序线程数超过16个就会明显影响到性能.
每增加一个线程就要增加几M的内存消耗.

操作界面最好只由主线程一个去做.
GameWeaverDummy 2004-01-11
  • 打赏
  • 举报
回复
up
cooling 2004-01-11
  • 打赏
  • 举报
回复

你可以参考典型的多线程设计呀,好象没有一下子开这么多线程的。

一般的应用,可以开几个接收线程,几个处理线程,几个发送线程……接收、处理和发送……可以分开来,比如邮件服务器的设计就比较好。互不干扰,可以找这方面的资料参考。
crackatom 2004-01-11
  • 打赏
  • 举报
回复
哪位有这方面的代码呢?能贴一个给大家看看吗?
crackatom 2004-01-09
  • 打赏
  • 举报
回复
再顶一下。
hiflower 2004-01-09
  • 打赏
  • 举报
回复
就是说,在你的线程中要处理各线程的资源冲突,可能需要同步,互斥等操作
而一般的VCL类只关心自己。
crackatom 2004-01-09
  • 打赏
  • 举报
回复
to hiflower(花): 内部处理怎么个不同呢?能说详细点吗?
hiflower 2004-01-09
  • 打赏
  • 举报
回复
与管理 100 个 TEdit 没什么区别。
区别只是在 TEdit 和 TYourThread 的内部处理不同。
devil_li 2004-01-08
  • 打赏
  • 举报
回复
创建一个线程列表
Threads:TList;
要添加一个线程:
Threads.Add(TMyThread.Create)
删除一个线程:
Threads[I].Terminate;
Delete(I);
crackatom 2004-01-08
  • 打赏
  • 举报
回复
能够管理其中的每个业务,可以添加或者停掉。
crackatom 2004-01-08
  • 打赏
  • 举报
回复
目的是多线程访问数据库和DLL,实现网络通信。
分析所收到数据,根据数据的不同调用DLL里的不同函数,并访问数据库里不同数据,并发送相应的数据。保证实时,不能够冲突和间断。
crackatom 2004-01-08
  • 打赏
  • 举报
回复
我的意思是在程序已经运行的情况下可以动态地管理线程,线程自己不能够terminate.
aiirii 2004-01-08
  • 打赏
  • 举报
回复
>>想做一个比如100个线程相互不冲突不干扰,可以单独添加或者杀掉的多线程程序
區別你的你線程是做什麼的??如果是要訪問VCL, 訪問更新界面, 共享資源的, 就比較麻煩, 要不是, 那一個線程或多個, 區別不大!
devil_li 2004-01-08
  • 打赏
  • 举报
回复
很easy啊,关键是保证线程要经常判断Terminated就行
杀掉直接用terminate
crackatom 2004-01-08
  • 打赏
  • 举报
回复
自己顶一下!

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧