python3线程练习-

python3线程练习-上位机开发1


这是我的第一篇博文,公司突然要求让弄一个上位机,主要是要连接数字万用表和公司自己的开发的测校准仪,下面是仪器的连接图,电流自动校准我们公司自己开发的仪器,主要也是测试电流的功能,但是精度要求很高,所有用一段时间之后,就需要校准,人工校准很麻烦,所有就考虑上位机,我原本打算用labview去实现,但是由于种种原因,就放弃了,后来了解到python可以实现,上位机既需要能用捷安特的数字万用表通信,还需要有串口功能,所以最后选择使用python开发,我也不是python开发,唯一的编程基础也是好几年前大学学的C C++ JAVA ,虽然门类多,但是学的都是皮毛,毕业后也没有做一个程序员, 所以我有对象大误匿了
扯远了好像,还好python不难,各种教程资源,满天飞,所以囫囵吞枣的学两个星期,还是懂了一点了,又扯远了,直接进今天标题------线程吧,我需要开发的上位机,因为需要同时接收数字万用表的数据,还需要与测试版交互,所以决定使用多线程。以下是我的学习代码,希望对看到文章的你有所帮助`

# -*- coding:utf-8 -*-
# 开发人员:Administrator
# 开发时间:2020/1/13  0:10
# 文件名称: zzz.PY
# 开发工具:PyCharm
# python版本:python 3.8

# 写一个程序,两个线程,一个线程负责生成随机数,并保存进文件中,另一个线程不断的读取,线程完成之后,主线程清空文件

import threading   # 导入线程模块
import time        # 导入时间模块
import random       # 导入随机函数


def process1():            # 线程1 ,负责写入随机生成的数据到"ceshi.txt"这个文件内
    for i in range(10):    # 使用for语句 循环10次
        time.sleep(1)      # 每次执行延迟1s
        print('我是线程1')  # 利于观察
        with open('ceshi.txt','a') as f:   # 打开文件,,追加模式,如果文件不存在,则新建一个文件
            f.write(str(random.random()))  # 将随机生成的(0.1)内的附件数转换为字符串,写入文件内


def process2():             # 线程2,负责读出线程1生成的文件,并输出到控制台
    for i in range(10):
        time.sleep(0.5)
        print('我是线程2')
        with open('ceshi.txt') as f:
            print(f.readlines())    # 将文件内的所有文件输出到控制台


def modify_text():              # 将文件内所有的内容清空的函数
    with open('ceshi.txt', "r+") as f:
        read_data = f.read()
        f.seek(0)              # 将读取的光标切换到文档起始位置
        f.truncate()           # 清空文件内所有的内容


if __name__ == '__main__':
    print('主线程开始')
    p1 = threading.Thread(target=process1)  # 创建 线程1
    p2 = threading.Thread(target=process2)  # 创建 线程2
    p1.start()                              # 线程1 开始启动
    p2.start()                              # 线程2 开始启动
    p1.join()                               # 阻塞主线程
    p2.join()                               # 阻塞主线程
    modify_text()                           # 清空文档内内容
    print('主线程结束')

以上的程序就是多线程的简单应用,上面的注释很详细了,所以就不多解释啦
至于上位机,我还没写完,到时候可以考虑开源,并且总结这段时间的坑!!!

2020年1月13日01:22:29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值