t3486784401 发表于 2023-4-30 01:20
问题在于:while1 里边没用 sleep(0)
线程这样基本不会释放 CPU,稍多就卡
(引用自3楼)
zw_7627 发表于 2023-4-30 08:26
有Sleep,还是丢包
(引用自4楼)
SUPER_CRJ 发表于 2023-4-30 10:46
我不太懂,我的理解是,不同线程不知道什么时候启动。所以设计上就得考虑?我之前设计的就是,如果两个线程 ...
(引用自5楼)
t3486784401 发表于 2023-4-30 11:54
应该着重检查为何丢包吧? 例如数据处理不及时。
目前限定在临界区,总觉着可能南辕北辙。 ...
(引用自6楼)
qwe2231695 发表于 2023-4-30 13:32
什么包? UDP包还是UART包 ?
(引用自7楼)
wye11083 发表于 2023-4-30 00:18
不要用criticalsection。。这玩意调度非常不稳定,有的撑死有的饿死。老老实实用mutex。 ...
(引用自2楼)
redroof 发表于 2023-5-1 11:43
现在的电脑程序,通常CPU都是过剩的,用锁只是基于逻辑上的原因。如果你的两个线程没有共享什么东西,用锁 ...
(引用自12楼)
zw_7627 发表于 2023-5-2 23:04
线程A,处理CAN通道0数据,线程B处理CAN通道1数据。单独运行一个通道,程序稳定工作。两路通道同时运行, ...
(引用自14楼)
zw_7627 发表于 2023-5-2 23:04
线程A,处理CAN通道0数据,线程B处理CAN通道1数据。单独运行一个通道,程序稳定工作。两路通道同时运行, ...
(引用自14楼)
t3486784401 发表于 2023-5-3 01:20
写两个exe,每个exe只开一个线程,但exe1访问0通道,exe2访问1通道。
从系统进程一级,看是否还会造成卡 ...
(引用自15楼)
wurst 发表于 2023-5-3 10:42
.net平台有个线程安全队列类ConcurrentQueue,不用加锁之类的。非常好用
(引用自17楼)
zw_7627 发表于 2023-5-3 10:48
C++
(引用自19楼)
redroof 发表于 2023-5-3 12:22
你先回答我的问题啊,你外面自己wait,是在等待什么东西?
CAN通迅底层函数难道不是自带阻塞的吗?
你调 ...
(引用自20楼)
zw_7627 发表于 2023-5-3 12:47
1、外面的wait是,等待接收信号处理;
2、收发线程带阻塞处理;
3、一个管收一个管发,收发是单独线程;
(引用自21楼)
欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) | Powered by Discuz! X3.4 |