全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2248|回复: 18

[Windows VPS] 求指点!自己写的PY CPU100%,但Python果然是树莓派原配!

[复制链接]
发表于 2019-3-18 23:37:48 | 显示全部楼层 |阅读模式
感谢之前很多大佬领路!愉快的入了树莓派3B,使用体验很好√接了个传感器,自己写了点,但是为啥一直100%占满了1核...

import RPi.GPIO as GPIO
import time

#States File Store Location
ramdisk = "/root/ramdisk0/"

#Init GPIO
def init():
    #No GPIO warnings.
    #GPIO.setwarnings(False)

    #Set mode
    GPIO.setmode(GPIO.BOARD)

    #Set Which Pin
    GPIO.setup(7,GPIO.IN)
    pass

def detct():
    while True:
        curtime = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        #High level
        if GPIO.input(7) == True:
            #Alert and update states file to 1(Triggered)
            alert(curtime)
            writedown('1')
        else:
            writedown('0')
            continue
        time.sleep(2)


def alert(curtime):
    print(curtime + "Senser Triggered.")

#Update Triggered
def writedown(states):
    with open(ramdisk+'human-senser.txt','w+') as f:
        f.write(states)

time.sleep(2)

#Starting Loop
init()
detct()
GPIO.cleanup()


求助为什么这段那么简单的代码能卡住一个核QAQ...写文件的地方还是用了内存盘。

难道GPIO有那么占用资源?还是time.sleep有毒...??还是树莓派就连个sleep都能沾满?
发表于 2019-3-19 08:20:03 | 显示全部楼层
            writedown('0')
            continue
        time.sleep(2)
如果没有触发,那么直接continue所以跳过了sleep
发表于 2019-3-18 23:43:12 | 显示全部楼层
没玩过 帮顶
发表于 2019-3-18 23:48:36 | 显示全部楼层
虽然看不懂代码,但是我觉得你代逻辑有问题
发表于 2019-3-18 23:50:54 | 显示全部楼层
Python 本来就是单进程 你一个循环里面才sleep 2  而且树莓派的处理能力毕竟是弱
imes 该用户已被删除
发表于 2019-3-18 23:52:56 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2019-3-18 23:57:14 来自手机 | 显示全部楼层
imes 发表于 2019-3-18 23:52
代码逻辑问题,导致一直在IO硬盘。

应该不存在io问题。这里特地是用内存盘来写数据了!
 楼主| 发表于 2019-3-18 23:58:19 来自手机 | 显示全部楼层
VPSMarket 发表于 2019-3-18 23:50
Python 本来就是单进程 你一个循环里面才sleep 2  而且树莓派的处理能力毕竟是弱  ...

这里应该是sleep了2秒了。还是不够吗QAQ
发表于 2019-3-19 01:29:39 来自手机 | 显示全部楼层
应该是一硬件垃圾的锅
发表于 2019-3-19 01:34:03 来自手机 | 显示全部楼层
sleep会导致100%,你可以用threading.Timer,基本上CPU会降到3%以下
发表于 2019-3-19 07:02:43 来自手机 | 显示全部楼层
问题在continue
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-23 21:07 , Processed in 0.066213 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表