上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 多线程开发可能遇到的问题 假设两个线程t1和t2都要对全局变量g_num(默认是0)进行加1运算,t1和t2都各对g_num加10次,g_num的最终的结果应该为20。 但是由于是多线程同时操作,有可能出现下面情况: 测试1 运行结果: 测试2 运行结果: 结论 如果多个线程同时对同一个全局变量操作 阅读全文
posted @ 2019-05-23 09:13 GeorgeXu 阅读(5275) 评论(0) 推荐(0) 编辑
摘要: 运行结果: 列表当做实参传递到线程中 运行结果: 总结: 在一个进程内的所有线程共享全局变量,很方便在多个线程间共享数据 缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全) 阅读全文
posted @ 2019-05-23 09:09 GeorgeXu 阅读(3356) 评论(0) 推荐(0) 编辑
摘要: 1. 线程执行代码的封装 通过上一小节,能够看出,通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写run方法 示例如下: 说明 pytho 阅读全文
posted @ 2019-05-23 09:05 GeorgeXu 阅读(154) 评论(0) 推荐(0) 编辑
摘要: python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 多线程执行 主线程会等待所有的子线程结束后才结束 查看线程数量 阅读全文
posted @ 2019-05-23 09:03 GeorgeXu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已) 并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的 阅读全文
posted @ 2019-05-23 08:56 GeorgeXu 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple和Microsoft都有各自的网络协议,互不兼容 为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议族(Internet Protocol Suite)就是通用协议标准。 因 阅读全文
posted @ 2019-05-23 08:55 GeorgeXu 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-05-23 08:52 GeorgeXu 阅读(147) 评论(0) 推荐(0) 编辑
摘要: TCP在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立通过三次握手,释放则需要四次握手, 所以说每个连接的建立都是需要资源消耗和时间消耗的。 1. TCP短连接 模拟一种TCP短连接的情况: 在步骤5中 阅读全文
posted @ 2019-05-23 08:47 GeorgeXu 阅读(15109) 评论(0) 推荐(2) 编辑
摘要: 阅读全文
posted @ 2019-05-23 08:46 GeorgeXu 阅读(153) 评论(0) 推荐(0) 编辑
摘要: tcp服务器一般情况下都需要绑定,否则客户端找不到这个服务器 tcp客户端一般不绑定,因为是主动链接服务器,所以只要确定好服务器的ip、port等信息就好,本地客户端可以随机 tcp服务器中通过listen可以将socket创建出来的主动套接字变为被动的,这是做tcp服务器时必须要做的 当客户端需要 阅读全文
posted @ 2019-05-23 08:38 GeorgeXu 阅读(120) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页