ASP.NET—Cache以及跨线程访问
发布日期:2021-06-29 11:16:00
浏览次数:2
分类:技术文章
本文共 1689 字,大约阅读时间需要 5 分钟。
Cache
Cache:也就是缓存,也是服务器的一种状态保持机制,存在服务器的内存中。 虽然Cache与Session都是存在服务器的内存中,但是它们差别却很大: 1)Cache是所有用户共享的,Session是属于每个单独用户的 2)Cache也可以指定过期时间,如果不指定,那么只要服务器不挂,Cache就会一直存在;而Session默认有一个过期时间,一般是20分钟
Cache的方法
1. 指定缓存的过期时间:
Cache.Insert();
2. 移除缓存:
Cache.Remove("userInfoList");
跨线程访问
1. 线程的创建
//括号中是线程要执行的方法 Thread myThread = new Thread(threadStart); myThread.Start();
2. 线程的一些属性
//设置线程的优先级myThread.Priority = ThreadPriority.Highest;//建议操作系统将创建的线程优先级设置为最高。//给线程设置一个名字myThread.Name = "";//设置线程为后台线程//如果不设置为后台线程,假如应用程序退出的时候,线程并不能完全退出 myThread.IsBackground = true;
3. 线程的一些方法
//强行终止线程,一般不要用这个方法,太暴力myThread.Abort();//阻塞UI的主线程,单位是毫秒,如果主线程等待一定时间后,线程还没执行完,则主线程将不再等待而继续执行myThread.Join(1000);
4. 跨线程访问
////// 跨线程访问/// /// /// private void button4_Click(object sender, EventArgs e){ Thread thread1 = new Thread(ShowResult); thread1.IsBackground = true; thread1.Start();}private void ShowResult(){ int a = 0; for (int i = 0; i < 600000000; i++) { a = i; } //是否要对文本框进行跨线程访问。 if (this.textBox1.InvokeRequired) { //Invoke:去找创建TextBox的线程(主线程(UI线程)),由主线程完成委托方法的调用。 this.textBox1.Invoke(new Action(ShowTextBoxValue), this.textBox1, a.ToString()); } else { this.textBox1.Text = a.ToString(); }}private void ShowTextBoxValue(TextBox txt,string value){ txt.Text = value;}
5. 线程池 为什么要用线程池? 线程创建非常消耗资源,且线程创建非常慢,占用大量的内存空间,每个线程最少1M内存开销。而直接从线程池取要比创建线程快。不过从线程池取出的线程都是后台线程,且优先级都是Normal,无法设定它的优先级。
从线程池中取线程:
ThreadPool.QueueUserWorkItem(WaitCallback callBack, object state);
什么时候用线程池?什么时候用手动创建线程? 1)能用线程池的就用线程池 2)我们想手动关闭线程的话那么必须手动创建了。 3)我们需要对线程池的线程的优先级做设置的情景下,只能使用手动创建线程。 4)如果执行的线程执行时间特别长,建议手动创建线程。
转载地址:https://blog.csdn.net/zwj_jyzl/article/details/88386197 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月24日 17时13分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
APP调用服务器API设计
2019-04-29
Opencv+Zbar二维码识别(标准条形码/二维码识别)
2019-04-29
zbar优化
2019-04-29
微信扫码登录验证PHP代码(不用开放平台)
2019-04-29
CH554E USB单片机 10引脚小封装低成本USB方案
2019-04-29
windows MQTT客户端
2019-04-29
LINUX下挂载(mount)查看树莓派镜像文件
2019-04-29
基于CH568芯片加密SD卡方案
2019-04-29
1元钱的超低成本单芯片USB单片机方案
2019-04-29
单片机/树莓派扩展双串口(TTL和RS485)
2019-04-29
JAVA(android)提取WIFI客流探针MAC地址源码
2019-04-29
基于CH568芯片的SATA电子盘方案
2019-04-29
linux下C语言判断网络是否连接
2019-04-29
STM32Cube_FW_F4_V1.17 F4固件包百度网盘下载
2019-04-29
猿来绘Java-35-线程的同步(生产者和消费者问题)
2019-04-29
猿来绘Java-36-解决线程安全问题
2019-04-29
猿来绘Java-37-ReentrantLock解决线程安全问题
2019-04-29
猿来绘Java-38-生产者消费者模型
2019-04-29
猿来绘Java-39-JDK8的新日期时间类
2019-04-29