摘要:
Javascript简介 web前端有三层: HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从 阅读全文
摘要:
下面是数据初始化,在本地创建sql文件,拷贝代码内容,创建数据库,然后在数据库里source执行sql文件。 1 /* 2 数据导入: 3 Navicat Premium Data Transfer 4 5 Source Server : localhost 6 Source Server Type 阅读全文
摘要:
之前我们学的都是阻塞IO模型,就是遇到IO,就阻塞,操作系统自动将CPU拿走给别的进程,等到IO有结果后,CPU再把执行权限拿回来,继续运行。 1.非阻塞IO 非阻塞的recvform系统调用调用之后,进程并没有被阻塞,内核马上返回给进程,如果数据还没准备好, 此时会返回一个error。进程在返回之 阅读全文
摘要:
1.并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制) 1.该任务发生了阻塞 2.该任务计算的时间过长或有一个优先级更高的程序替代了它 第二种情况并不能提升效率,只是为了让cpu能够雨露均沾,实现看起来所有任务都被“同时”执行的效果,如果 阅读全文
摘要:
1.线程队列 线程队列有三种:先进先出,后进先出,按优先级进出,具体如下: 1 import queue 2 3 # 先进先出 4 q = queue.Queue(3) 5 6 q.put(1) 7 q.put(2) 8 q.put(3) 9 # q.put(4) # 再放阻塞,等待队列消费 10 阅读全文
摘要:
1.死锁 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 1 from threading import Thread,Lock 2 im 阅读全文
摘要:
先了解下CPU的简单运行原理: 它运行速度非常快,1s内可以运行成千上万次,一个核心可以把1s切分成成千上万个时间片段,这个核心确实同时只能运行一个任务;但是可以将多个任务交替执行,比如上一个时间片段内运行A任务,下个时间片段可以运行B任务,交替执行,因为时间片段很短,所以感觉就是同时在进行了。 再 阅读全文
摘要:
进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 公司=Cpu,部门=进程,开发人员=线程 部门隔离数据,财务部的财务数据不会给开发部门看,开发部门不是实际干活的单位,部门里的开发人员才干活,一个部门至少要有一个人才能干活,这就是主线程。 多线程( 阅读全文
摘要:
进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程 1.开启进程的两种方式: 1 from multiprocessing import Process 2 import time 3 import os 4 5 # 方式一: 6 阅读全文
摘要:
套接字这部分不得不强调下tcp协议,这里只讲五层协议。 应用层 应用程序告诉操作系统,要给某ip port 发送bytes数据 传输层 建立端口到端口的通信 网络层 引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址 数据链路层 单纯的电信号0和1无意义,定义了电信号的分组方式,将网络层 阅读全文