美文网首页
2018-03-20

2018-03-20

作者: 裴general | 来源:发表于2018-03-20 21:38 被阅读0次
今日概述:回顾了git的操作流程, 补充学习了正则表达式,初步学习了进程和线程,了解了多线程

git

1.git用于版本控制,托管代码
2.操作步骤:(1),git chone 将远端的仓库克隆到本地(2),初始化仓库:git init (3),git add . 提交文件 (4) git status 查看状态 (5) git commit -m + 文件名 提交文件 (6)git pull 将远端仓库的文件拉取下来同步 (7) git push origin master 将代码同步到远端仓库

  1. 新建分支:git branch + 文件名

正则表达式

  • 详细的教程可以查看网上的(正则表达式30分钟入门教程)

进程和线程

  • 进程:操作系统分配内存的基本单位,进程之间的内存是相互隔离的,进程之间通讯要通过IPC机制(管道,套接字)
import time
from multiprocessing import Process # 进程的写法
import os
# process
# thread
def output():
    print(os.getpid())
    while True:
        print('Pong', end='')
        time.sleep(0.01)


def main():
    print(os.getpid())
    Process(target=output).start() # 只能传函数名,表示进程骑起来后,在进程里调用的函数
    while True:
        print('Ping', end='',flush=True) # 缓冲你的输入输出数据
        time.sleep(0.01)


if __name__ == '__main__':
    main()
  • 线程:1个进程可以划分为多个线程,线程是进程的执行单元,也是操作系统分为CPU的基本单元
  • 多线程的使用地方:1,如果任务执行时间很长,可以把任务分成子任务,多线程提升程序的执行效率,缩短程序的执行时间
    2, 改善用户的体验,让用户获得更好的体验

创建线程的方式:1, 直接创建Thread对象并通过target参数指定线程后要执行的任务
2, 基层Thread自定义编程,通过重写run方法指定线程启动后执行的任务

class PrintThread(Thread):
    def __init__(self, string, count):
        super().__init__()
        self._string = string
        self._count = count


    def run(self):
        for _ in range(self._count):
            print(self._string, end='', flush=True)


count = 0
def output(string):
    global count
    inner_count = 0
    while count < 1000:
        print(string, end=' ', flush=True)
        count += 1
        inner_count += 1
    print(inner_count)
        # time.sleep(0.01)

def main():
    # 守护线程- 不值得保留的线程 - 其他线程如果都执行完毕了那么守护线程自动结束
    # daemon=True - 将线程设置为守护线程
    t1 = Thread(target=output, args=('ping',), ) # daemon 如果主线程结束了,
    # 那么守护线程也会结束,即while循环也就自动停止
    # 透明是看不见的东西
    t1.start()
    t2 = Thread(target=output, args=('pong',),)
    t2.start()


if __name__ == '__main__':
    main()

实例:输出数字

from threading import Thread

list1 = []
class My_process(Thread):
    def __init__(self, string, count):
        super().__init__()
        self._string = string
        self._count = count

    def run(self):
        global list1
        for _ in range(self._count):
            list1.append(self._string)
            print(list1)
def main():
    a1 = My_process('A', 100)
    a2 = My_process('B', 100)
    a3 = My_process('C', 100)
    a4 = My_process('D', 100)
    a5 = My_process('E', 100)
    a1.start()
    a2.start()
    a3.start()
    a4.start()
    a5.start()

if __name__ == '__main__':
    main()

相关文章

网友评论

      本文标题:2018-03-20

      本文链接:https://www.haomeiwen.com/subject/jqdiqftx.html