处理线程中打开文件,每次读取一行并记录当前读取位置,没有下一行让出一秒logfile = './logs/%s_%s.log' % (appName, time.strftime('%Y_%m_%d')) file = open(logfile, 'r', encoding='utf-8') whi ...
分类:
编程语言 时间:
2020-12-30 10:45:44
阅读次数:
0
一、定义 ThreadLocal会为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据的访问冲突。因为每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了。ThreadLocal提供了线程安全的共享对象,在编写多线程代码时,可以把不安全的变量封装进ThreadLocal。 概括 ...
分类:
其他好文 时间:
2020-06-16 13:02:45
阅读次数:
56
单例模式:一个类只允许创建一个对象(或实例),那这个类就是一个单例类,这种设计模式就是单例模式。 单例模式所解决的问题: 处理资源的访问冲突:多线程环境下,两个线程共享资源,存在相互覆盖的情况,解决方案:加锁将同一时刻仅允许一个线程调用资源。 表示全局唯一的类。 实现单例模式的要点: 构造函数需要 ...
分类:
其他好文 时间:
2020-05-04 21:32:57
阅读次数:
68
本节主要介绍在上一节中通过搭建基架而创建的Razor页面,并做一些UI改变。 一、创建、删除、详细信息和编辑页面 1、双击Pages/Movies/Index.cshtml.cs文件,这是一个Razor页面模型: 1 using System; 2 using System.Collections. ...
分类:
Web程序 时间:
2020-04-26 21:01:06
阅读次数:
77
memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。 函数介绍 void *memset(void *s, int ch, size_t n); 函数解释:将s中当前位置后面的n个字节 (typedef unsign ...
分类:
编程语言 时间:
2020-02-26 11:35:50
阅读次数:
100
JDK Byte Buffer的缺点:长度是固定的,不能动态扩容,API使用复杂,因此Netty封装了自己ByteBuf,Bytebuf有三个重要属性:Capacity容量、readerIndex读取位置和writerIndex写入位置,提供两个指针来支持顺序读写操作.同时三者满足如下关系:0<=r ...
分类:
Web程序 时间:
2020-02-14 18:05:42
阅读次数:
100
常见参数 -A/--user-agent <string> 设置用户代理发送给服务器 -b/--cookie <name=string/file> cookie字符串或文件读取位置 -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中 -C/--continue-a ...
分类:
Web程序 时间:
2020-02-05 18:14:57
阅读次数:
86
Synchronized简介 线程安全是并发编程中的至关重要的,造成线程安全问题的主要原因: 临界资源, 存在共享数据 多线程共同操作共享数据 而Java关键字synchronized,为多线程场景下防止临界资源访问冲突提供支持, 可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块操作共享 ...
分类:
编程语言 时间:
2020-01-12 11:19:15
阅读次数:
83
先看一下大体结构 ThreadLocal(线程本地变量),作用是让每个线程都维护一份独立的变量副本,解决了变量并发访问冲突的问题。表面上看,变量是存储在ThreadLocal里面的,实则不然:1. ThreadLocal只是个“工具类”,对外暴露了get、set、remove接口;2. 内部实现:变 ...
分类:
其他好文 时间:
2020-01-06 17:44:24
阅读次数:
80
本文讨论如何使用Windows事件查看器获取实际崩溃的模块以及代码中崩溃的位置。示例代码是用C++编写的,以生成不同类型的崩溃,例如访问冲突和堆栈溢出。 简介 我经常听同事和QA那里听说,一个特定的崩溃很容易在客户机上重现,而不是在他们的机器上重现。这是一个棘手的问题,因为开发人员无法在客户机上调试 ...