2007年07月16日 星期一 14:56
有点搞不太明白这个东西. 我的程序是这样的,我要他去打开串口,然后有一个函数是循环去读取串口送来的数据,然后有另一个函数来写串口因为有时还需要向串口发送东西. 我不确定是否要用线程来做? 我看了一些threading的文章,写的比较模糊,不太了解其中原理,怎么个流程.忘高手指定迷津. 谢谢! -- Best regards Yuri -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20070716/5e9bad98/attachment.html
2007年07月16日 星期一 15:23
ÎҵĸоõÊÇ£¬Ó¦¸ÃÒªÓÃỊ̈߳¬²»È»¼àÌýµÄʱºò³ÌÐòûÓÐÏìÓ¦¡£ def listener() { while True: # do something.... def sender() { while True: while ....: # when it needs to send # send... if __name__ == '__main__': threading.Thread(None, listener).start(); threading.Thread(None, sender).start(); Á½¸ö½ø³ÌÓ¦¸ÃÐèÒª¹²ÏíһЩÊý¾Ý£¬×¢ÒâÔÚ¶ÁдÊý¾ÝµÄʱºò¼ÓËø¡£Âú×ãÒ»¶¨Ìõ¼þµÄʱºòbreak³öÑ»·£¬¾Í½áÊøÁË¡£ ÎÒÏëµÃ±È½Ï¼òµ¥£¬²»ÖªµÀÓÐûÓдíÎó¡£ On 7/16/07, Yuri <yuri.linux在gmail.com> wrote: > > Óеã¸ã²»Ì«Ã÷°×Õâ¸ö¶«Î÷. > ÎҵijÌÐòÊÇÕâÑùµÄ,ÎÒÒªËûÈ¥´ò¿ª´®¿Ú,È»ºóÓÐÒ»¸öº¯ÊýÊÇÑ»·È¥¶ÁÈ¡´®¿ÚËÍÀ´µÄÊý¾Ý,È»ºóÓÐÁíÒ»¸öº¯ÊýÀ´Ð´´®¿ÚÒòΪÓÐʱ»¹ÐèÒªÏò´®¿Ú·¢ËͶ«Î÷. > ÎÒ²»È·¶¨ÊÇ·ñÒªÓÃÏß³ÌÀ´×ö? > ÎÒ¿´ÁËһЩthreadingµÄÎÄÕÂ,дµÄ±È½ÏÄ£ºý,²»Ì«Á˽âÆäÖÐÔÀí,Ôõô¸öÁ÷³Ì.Íü¸ßÊÖÖ¸¶¨ÃÔ½ò. > лл! > > > -- > Best regards > Yuri > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- Zhang Xiao Engineer, Web development Ethos Tech. http://www.ethos.com.cn -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070716/a8cfa539/attachment-0001.htm
2007年07月16日 星期一 15:44
非常感谢,解释的很简洁明了,让我一看就能明白. 现在还有一个问题就是因为我的程序开始的时候初始化了串口,退出程序的时候也必须释放串口,我需要先把线程stop掉然后释放串口. 要中止一个线程用 threading.Thread(None, listener).stop();么? Thank's 在07-7-16,Xell Zhang <xellzhang在gmail.com> 写道: > > 我的感觉是,应该要用线程,不然监听的时候程序没有响应。 > def listener() { > while True: > # do something.... > > def sender() { > while True: > while ....: # when it needs to send > # send... > > if __name__ == '__main__': > threading.Thread(None, listener).start(); > threading.Thread(None, sender).start(); > > 两个进程应该需要共享一些数据,注意在读写数据的时候加锁。满足一定条件的时候break出循环,就结束了。 > 我想得比较简单,不知道有没有错误。 > > On 7/16/07, Yuri <yuri.linux在gmail.com> wrote: > > > 有点搞不太明白这个东西. > > 我的程序是这样的,我要他去打开串口,然后有一个函数是循环去读取串口送来的数据,然后有另一个函数来写串口因为有时还需要向串口发送东西. > > 我不确定是否要用线程来做? > > 我看了一些threading的文章,写的比较模糊,不太了解其中原理,怎么个流程.忘高手指定迷津. > > 谢谢! > > > > > > -- > > Best regards > > Yuri > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > -- > Zhang Xiao > > Engineer, Web development > > Ethos Tech. > http://www.ethos.com.cn > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- Best regards Yuri -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20070716/51b680f1/attachment.htm
2007年07月16日 星期一 16:06
ºÃÏñÏß³ÌÖÐÀàËÆÓÚÔÝÍ££¬ÖÐÖ¹£¬»Ö¸´Ò»ÀàµÄ·½·¨ÔÚpythonÎÒ¶¼Ã»ÓÐÓõ½¹ý£¬Ò²²»ÖªµÀÓÐûÓС£ µ«ÊǸù¾ÝÄãµÄÒªÇó£¬ÄãÖ»ÒªÔÚº¯ÊýÍ·²¿³õʼ»¯¶Ë¿Ú£¬ÔÚº¯ÊýÍ˳ö֮ǰÊͷŶ˿ھͿÉÒÔÁË°¡¡£²»ÐèÒªÖÐÖ¹Ïß³ÌÔÙÊͷŶ˿ڡ£¶øÇÒÎÒ¾õµÃÕâÑùÂß¼ÉÏ¿É¿ØÖƵĸüºÏÀíһЩ¡£ On 7/16/07, Yuri <yuri.linux在gmail.com> wrote: > > ·Ç³£¸Ðл,½âÊ͵ĺܼò½àÃ÷ÁË,ÈÃÎÒÒ»¿´¾ÍÄÜÃ÷°×. > ÏÖÔÚ»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇÒòΪÎҵijÌÐò¿ªÊ¼µÄʱºò³õʼ»¯ÁË´®¿Ú,Í˳ö³ÌÐòµÄʱºòÒ²±ØÐëÊÍ·Å´®¿Ú,ÎÒÐèÒªÏÈ°ÑÏß³ÌstopµôÈ»ºóÊÍ·Å´®¿Ú. > ÒªÖÐÖ¹Ò»¸öÏß³ÌÓà > threading.Thread(None, listener).stop();ô? > > Thank's > > > ÔÚ07-7-16£¬Xell Zhang <xellzhang在gmail.com> дµÀ£º > > > > ÎҵĸоõÊÇ£¬Ó¦¸ÃÒªÓÃỊ̈߳¬²»È»¼àÌýµÄʱºò³ÌÐòûÓÐÏìÓ¦¡£ > > def listener() { > > while True: > > # do something.... > > > > def sender() { > > while True: > > while ....: # when it needs to send > > # send... > > > > if __name__ == '__main__': > > threading.Thread(None, listener).start(); > > threading.Thread(None, sender).start(); > > > > Á½¸ö½ø³ÌÓ¦¸ÃÐèÒª¹²ÏíһЩÊý¾Ý£¬×¢ÒâÔÚ¶ÁдÊý¾ÝµÄʱºò¼ÓËø¡£Âú×ãÒ»¶¨Ìõ¼þµÄʱºòbreak³öÑ»·£¬¾Í½áÊøÁË¡£ > > ÎÒÏëµÃ±È½Ï¼òµ¥£¬²»ÖªµÀÓÐûÓдíÎó¡£ > > > > On 7/16/07, Yuri < yuri.linux在gmail.com> wrote: > > > > > Óеã¸ã²»Ì«Ã÷°×Õâ¸ö¶«Î÷. > > > ÎҵijÌÐòÊÇÕâÑùµÄ,ÎÒÒªËûÈ¥´ò¿ª´®¿Ú,È»ºóÓÐÒ»¸öº¯ÊýÊÇÑ»·È¥¶ÁÈ¡´®¿ÚËÍÀ´µÄÊý¾Ý,È»ºóÓÐÁíÒ»¸öº¯ÊýÀ´Ð´´®¿ÚÒòΪÓÐʱ»¹ÐèÒªÏò´®¿Ú·¢ËͶ«Î÷. > > > ÎÒ²»È·¶¨ÊÇ·ñÒªÓÃÏß³ÌÀ´×ö? > > > ÎÒ¿´ÁËһЩthreadingµÄÎÄÕÂ,дµÄ±È½ÏÄ£ºý,²»Ì«Á˽âÆäÖÐÔÀí,Ôõô¸öÁ÷³Ì.Íü¸ßÊÖÖ¸¶¨ÃÔ½ò. > > > лл! > > > > > > > > > -- > > > Best regards > > > Yuri > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese在lists.python.cn > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > > Unsubscribe: send unsubscribe to > > > python-chinese-request在lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > -- > > Zhang Xiao > > > > Engineer, Web development > > > > Ethos Tech. > > http://www.ethos.com.cn > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > -- > Best regards > Yuri > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- Zhang Xiao Engineer, Web development Ethos Tech. http://www.ethos.com.cn -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070716/f6804d43/attachment-0001.html
2007年07月16日 星期一 16:13
好的.我晚上写程序,有问题继续在这里请教你. 非常感谢. 在07-7-16,Xell Zhang <xellzhang在gmail.com> 写道: > > 好像线程中类似于暂停,中止,恢复一类的方法在python我都没有用到过,也不知道有没有。 > 但是根据你的要求,你只要在函数头部初始化端口,在函数退出之前释放端口就可以了啊。不需要中止线程再释放端口。而且我觉得这样逻辑上可控制的更合理一些。 > > On 7/16/07, Yuri < yuri.linux在gmail.com> wrote: > > > > 非常感谢,解释的很简洁明了,让我一看就能明白. > > 现在还有一个问题就是因为我的程序开始的时候初始化了串口,退出程序的时候也必须释放串口,我需要先把线程stop掉然后释放串口. > > 要中止一个线程用 > > threading.Thread(None, listener).stop();么? > > > > Thank's > > > > > > 在07-7-16,Xell Zhang <xellzhang在gmail.com> 写道: > > > > > > 我的感觉是,应该要用线程,不然监听的时候程序没有响应。 > > > def listener() { > > > while True: > > > # do something.... > > > > > > def sender() { > > > while True: > > > while ....: # when it needs to send > > > # send... > > > > > > if __name__ == '__main__': > > > threading.Thread(None, listener).start(); > > > threading.Thread(None, sender).start(); > > > > > > 两个进程应该需要共享一些数据,注意在读写数据的时候加锁。满足一定条件的时候break出循环,就结束了。 > > > 我想得比较简单,不知道有没有错误。 > > > > > > On 7/16/07, Yuri < yuri.linux在gmail.com> wrote: > > > > > > > 有点搞不太明白这个东西. > > > > 我的程序是这样的,我要他去打开串口,然后有一个函数是循环去读取串口送来的数据,然后有另一个函数来写串口因为有时还需要向串口发送东西. > > > > 我不确定是否要用线程来做? > > > > 我看了一些threading的文章,写的比较模糊,不太了解其中原理,怎么个流程.忘高手指定迷津. > > > > 谢谢! > > > > > > > > > > > > -- > > > > Best regards > > > > Yuri > > > > _______________________________________________ > > > > python-chinese > > > > Post: send python-chinese在lists.python.cn > > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > > > Unsubscribe: send unsubscribe to > > > > python-chinese-request在lists.python.cn > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > -- > > > Zhang Xiao > > > > > > Engineer, Web development > > > > > > Ethos Tech. > > > http://www.ethos.com.cn > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese在lists.python.cn > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > > Unsubscribe: send unsubscribe to > > > python-chinese-request在lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > -- > > Best regards > > Yuri > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > -- > Zhang Xiao > > Engineer, Web development > > Ethos Tech. > http://www.ethos.com.cn > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- Best regards Yuri -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20070716/5ff26edf/attachment.html
Zeuux © 2025
京ICP备05028076号