网络编程,线程,多线程

1.网络编程

  1.IP:

    插上网线,路由器或交换机中的DHCP服务就会自动分配IP地址

  IPv4:  00000000.00000000.00000000.00000000

       0-255  0-255  0-255  0-255

  IPv6:  00000000.00000000.00000000.00000000.00000000.00000000

  2.子网掩码:

    IP:    192.168.13.150  四个点分的十进制表示

    子网掩码: 255.255.255.0  将挡住的IP位数作为网段,未挡住的部分作为可变的值

  3.网关IP:路由器接口处,192.168.13.1

  4.局域网,广域网,城域网

  5.广播,单播,广播风暴,arp协议

  6.DNS:

    网络连接:域名解析,连接:sk.connect()

    本地DNS:C:\Windows\System32\drivers\etc\hosts

    DNS服务器:全球顶级DNS服务器有13台

2.线程

  在多线程的操作系统中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是话费最小开销的实体,线程具有以下属性:

  1.轻型实体

    线程中的实体基本上不拥有系统资源,只是有一点是必不可少的,能保证独立运行的资源.

    线程的实体包括程序,数据和TCB.线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述

  2.独立调度和分派的基本单位

    在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位.由于线程很"轻",故线程的切换非常迅速且开销小(在同一进程中的)

  3.共享进程资源

    线程在同一进程中的各个线程,都可以共享该进程所拥有的资源

  4.可并发执行

    在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行,同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力.

线程的创建:

 1 import time
 2 import threading
 3 
 4 def task():
 5     for i in range(5):
 6         print(i)
 7         time.sleep(1)
 8 
 9 t = threading.Thread(target=task)
10 t.start()

多线程:

 1 import time
 2 import threading
 3 
 4 def task():
 5     for i in range(5):
 6         print(i)
 7         time.sleep(1)
 8 
 9 def play():
10     print(111)
11 
12 def func():
13     print(222)
14 
15 t1 = threading.Thread(target=task)
16 t1.start()
17 t2 = threading.Thread(target=play)
18 t2.start()
19 t3 = threading.Thread(target=func)
20 t3.start()

猜你喜欢

转载自www.cnblogs.com/s593941/p/9614661.html
今日推荐