DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: cuiqingbo
今日帖子: 20
在线用户: 12
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/29 12:36:37
标题:
单核单线程的cpu怎么开线程? 浏览:1952
加入我的收藏
楼主: cpu是e5300, 

结果我开了4个线程,   这4个线程里面是无限循环的, 永远不结束. 

再开第5个,  发现第5个及以后的线程都执行不了.. 

怎么办?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2019/11/29 12:40:27
1楼: 性能参数
CPU主频  2.6GHz
核心数量  双核心
线程数量  双线程
*2=4
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/11/29 12:55:33
2楼: 建议线程数 = 核心数x2
单核单线程=1个核心
单核双线程=2个核心。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/29 13:38:32
3楼: 不换cpu, 第5个线程就跑不了?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/29 19:58:09
4楼: 没解决方案吗?? 

旧cpu就开不了5个以上的线程??
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 xuchuantao (暗黑天使) ★☆☆☆☆ -
普通会员
2019/11/29 21:07:27
5楼: 这是你代码问吧!4个无限循环的线程是不是占用了太多CPU?,导致CPU没有多余的时间处理其他的指令了?
----------------------------------------------
按此在新窗口浏览图片
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/29 21:19:19
6楼: @xuchuantao (暗黑天使)

就无限循环查询.. 我发现第5个线程永远进不进.. 应该是在排队.
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2019/11/29 22:01:38
7楼: 单核CPU一样可以开N多线程,像你的4-5个线程不是问题。
主要是每个线程获得时间片,不停地轮询执行
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/29 22:03:02
8楼: @wr960204 (武稀松)

有四个线程, 是无限循环, 一秒都不停地工作, 查询.. 

那我第5+线程什么时候才开始工作?  感觉它们一直排队没机会工作...
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 letianwuji (大器晚成) ▲▲▲▲▲ -
普通会员
2019/11/29 23:56:48
9楼: 那么问题来了,为啥要无限一个线程循环...就不能分割嘛?——不断生成子线程,不断释放子线程....
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/30 0:01:48
10楼: @letianwuji (乐天无极)

这样不是还是for循环吗, 有什么区别?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 bjlg (蓝天) ★☆☆☆☆ -
盒子活跃会员
2019/11/30 10:21:56
11楼: @tuesdays 
难道windows的线程直接分配到各个CPU中码?
如果是这样,windows的程序都是怎么运行的?
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
作者:
男 pp0123 (pp0123) ★☆☆☆☆ -
普通会员
2019/11/30 10:36:05
12楼: 硬件上的线程祇代表核心被规划出的同步处理线程数。
实际上软件的线程多于硬件提供线程时,
软件的多条线程可被分配到硬件其中一条线程上。
因此码奴不需太关注硬件提供多少线程。
处理器与操作系统应懂得如何分配。
----------------------------------------------
-
作者:
男 bdl1 (bdl1) ▲▲▲▲▲ -
普通会员
2019/11/30 19:04:27
13楼: 这是什么问题?
----------------------------------------------
-我的博客
作者:
男 xuchuantao (暗黑天使) ★☆☆☆☆ -
普通会员
2019/11/30 19:33:25
14楼: 一秒都不停你第五个线程肯定是没有资源执行的,资源都被其他线程占用完了。建议读下操作系统设计概论等有个操作系统设计的书籍。
----------------------------------------------
按此在新窗口浏览图片
作者:
男 chencong5025 (Nicosoft) ▲▲▲△△ -
普通会员
2019/11/30 20:07:53
15楼: 来给你正确答案

1.你开多少线程和 核心数无关  1核心的一样可以开10 个20个线程
2.你说4个第5个 没反应不操作了 要检查是不是死锁 
3.为什么推荐 n核心 开2*n的线程。
这是因为理论上 这样CPU切换的少 性能好。不代表只能开这么多线程

别说10个20个 1000个都可以开
----------------------------------------------
-
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/11/30 20:41:06
16楼: 死锁怎么检查? 

我只看到线程忙碌着4个..
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/11/30 22:09:50
17楼: 比如你用 SQLEXPRESS,你一次能连 N 个就是极限了,不花钱的 SQLSERVER 就不让你多连第 N + 1 个。 这就叫 资源不够。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 chencong5025 (Nicosoft) ▲▲▲△△ -
普通会员
2019/12/1 3:27:28
18楼: @tuesdays

你可以开4个线程每个 sleep 10分钟 你开第五个 死循环输出点东西 就知道了
----------------------------------------------
-
作者:
男 codecoolie (CodeCoolie) ★☆☆☆☆ -
普通会员
2019/12/1 20:56:18
19楼: 楼主对线程编程理解有误,把线程基础编程方面的知识学习一下吧
----------------------------------------------
FFmpeg for Delphi http://www.CCAVC.com http://www.DelphiFFmpeg.com
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/12/2 11:50:26
20楼: procedure TForm8.BitBtn1Click(Sender: TObject);
begin
  redt1.Lines.Add('线程正忙: '+ IntToStr(Workers.BusyWorkers));
  Workers.Post(procedure (ajob:PQJob)
  var
    lins:TRichEdit;
  begin
     lins := TRichEdit(ajob.Data);
     lins.Lines.Add( '线程Handle: '+IntToStr(ajob.Handle) );
     fun_Delay(1000*1000); // 不知道多少秒.
  end, Pointer(redt1), False);
end;

最多9个线程, 就加不了了... 
求解决方案.
此帖子包含附件:
PNG 图像
大小:18.2K
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 chencong5025 (Nicosoft) ▲▲▲△△ -
普通会员
2019/12/2 16:42:11
21楼: @tuesdays

请使用TThread 

Qworker是个线程池 里面线程数 当然是固定的。
----------------------------------------------
-
作者:
男 chencong5025 (Nicosoft) ▲▲▲△△ -
普通会员
2019/12/2 16:42:51
22楼: @tuesdays

你使用线程池 当然没法加线程。常识啊。。。。我这新手小白都知道。。

你非要多点 那就设置 Worker的最大线程数即可
----------------------------------------------
-
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/12/2 17:27:06
23楼: @chencong5025 (Nicosoft)

怎么设置?  默认不是最大吗?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 tuesdays (Tuesday) ▲▲▲▲△ -
普通会员
2019/12/2 17:37:43
24楼: Workers.MaxWorkers := 90;  

// 加了这个应该解决了.
此帖子包含附件:
PNG 图像
大小:14.9K
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
男 hnxxcxg (咏南中间件) ★☆☆☆☆ -
盒子活跃会员
2019/12/2 18:51:43
25楼: 星二不是出来逗宝的吧
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
作者:
男 roadrunner (roadrunner) ★☆☆☆☆ -
盒子活跃会员
2019/12/2 23:39:19
26楼: 这代码辣眼睛
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2019/12/2 23:44:42
26楼: 单核CPU跑100个线程,D7,俺测试过,没问题。
----------------------------------------------
-
作者:
男 letianwuji (大器晚成) ▲▲▲▲▲ -
普通会员
2019/12/3 11:04:28
27楼: 搞半天,ta啥都没去了解过多线程的含义...大家散了散了
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 chencong5025 (Nicosoft) ▲▲▲△△ -
普通会员
2019/12/3 12:22:00
28楼: @tuesdays
一般来说默认就是 核心数x2  具体看各家线程池自己的 初始线程数
----------------------------------------------
-
作者:
男 grjs_2004 (grjsITname) ★☆☆☆☆ -
盒子活跃会员
2019/12/4 18:04:08
29楼: 单核CPU,可以开同时多个线程,但是正在执行的只有一个线程,线程按排队的顺序一一执行。
----------------------------------------------
Everyone will to do best!
作者:
男 helyna (Person) ★☆☆☆☆ -
普通会员
2019/12/5 11:29:32
30楼: 单CPU,不管是几核,多线程都没问题,只不过不是真正的同时运行

多PCU才能做到并发运行
----------------------------------------------
-
作者:
男 hnxxcxg (咏南中间件) ★☆☆☆☆ -
盒子活跃会员
2019/12/19 9:21:32
31楼: 亲爱的星二,你倒底想开几个线程?难倒你单CPU倒开多线程,我多CPU倒不开车?
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
作者:
男 sun2grit (Asun) ★☆☆☆☆ -
盒子活跃会员
2019/12/20 9:46:43
32楼: 开多少个线程跟有多少个CPU核心数没有绝对的关系
----------------------------------------------
家具安装 万师傅家具安装平台 安装维修师傅黄页 一键式测量仪
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行93.75毫秒 RSS