您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python线程概念问题

5b51 2022/1/14 8:21:25 python 字数 2841 阅读 485 来源 www.jb51.cc/python

我目前正在编写一个客户端服务器应用程序作为练习,到目前为止我已经完成了所有工作,但是我有一个心理障碍,我无法成功谷歌自己.在服务器应用程序中我是否正确认为将数据包处理程序和数据库处理程序从堆栈中工作是正确的做法?我们的想法是,一个线程循环侦听数据包并将数据添加到堆栈,然后另一个线程将数据从堆栈底部弹出,并对SQL数据库进行一些检查.在这种特殊情况下,数据包处

概述

我目前正在编写一个客户端服务器应用程序作为练习,到目前为止我已经完成了所有工作,但是我有一个心理障碍,我无法成功谷歌自己.

在服务器应用程序中我是否正确认为将数据包处理程序和数据库处理程序从堆栈中工作是正确的做法?我们的想法是,一个线程循环侦听数据包并将数据添加到堆栈,然后另一个线程将数据从堆栈底部弹出,并对sql数据库进行一些检查.

在这种特殊情况下,数据包处理程序继续工作更为重要.我想我的问题是,这是一个适当的线程使用,我将遇到需要线程锁定的问题,例如,我应该在数据包线程添加到堆栈时锁定数据库处理程序以避免尝试的问题写和读说,堆栈中唯一的值,等等.

感谢大家!

这是一段代码,请注意它正在进行中,所以不要判断,也是我第一次尝试python(我现在享受的不仅仅是perl或PHP!).

class socketListen(threading.Thread):
    def run(self):
        while True:
            datagram = s.recv('1024')
            if not datagram:
                break
            packetArray = datagram.split(',')
            if packetArray[0] = '31337':
                listHandle.put(packetArray)
        s.close()

class stackOperations(threading.Thread):
    def run(self):
        while True:
            #pull the last item off the stack and run ops on it
            #listHandle.getLast is the last item on the queue
    def 

class listHandle():
    def put(shiftData):
        if not mainStack:
            mainStack = []
        mainStack.insert(0,shiftData)
    def getLast:
        return mainStack.pop()

总结

以上是编程之家为你收集整理的Python线程概念问题全部内容,希望文章能够帮你解决Python线程概念问题所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶