2009年暑期实习生活总结(一)
来源:互联网 发布:mac怎么连接电视 编辑:程序博客网 时间:2024/05/21 10:56
时间荏苒,暑期的实习生活已经结束。正如秋天的植物一样,自己收获的心田也是沉甸甸的,有一种丰收的喜悦。无论是从心力路程还是到技术提升,这对自己来说都是一个很好的社会实践。接下来的几篇文章是我从中进行的社会实践总结:
一是线程的基本概念
1、 进程
通俗的讲,就是运行一个应用程序时所占用的内存和资源。
2、 线程
线程是一个进程中的不同的数据流,一个进程中包含多个线程。线程是处理器分配时间的最小单元。
3、 多线程
一个进程中包含多个执行流,即在一个程序中允许执行多个线程执行多个执行流。
4、 采用多线程的条件
需要与用户进行交互
需要尽可能短的时间内对用户的操作作出反应
提高运行时的时间效率
5、多线程可以完成的任务包括
通过网络与 Web 服务器和数据库进行通信。
执行占用大量时间的操作。
区分具有不同优先级的任务。例如,高优先级线程管理时间关键的任务,低优先级线程执行其他任务。
使用户界面可以在将时间分配给后台任务时仍能快速做出响应。
6、多线程中的问题
采用多线程需要协调共享资源、多个线程之间的关系
过多的线程在运行中容易产生Bug
多线程在线程的跟踪和销毁时需要资源
例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ThreadTest
{
class Program
{
static void Main(string[] args)
{
Thread.CurrentThread.Name = "CurrentThread";
Console.WriteLine(Thread .CurrentThread .Name );
Console.ReadKey();
}
}
}
二是线程的控制
1、 线程位于System.Thread命名空间之下,线程的初始化是通过ThreadStart委托来实现的。
2、 每一个线程都需要用Main函数作为线程的入口点。前台线程关闭后,所有的后台线程都将无条件的关闭。
3、 操纵Thread对象的方法主要有以下几个
Thread.Start()
Thread.Sleep()
Thread.Abort()
Thread.Join()
4、 线程的其他属性总结
Thread.Priority其中一共有六个值可供选择:
Highest,AboveNormal,Normal,BelowNormal,Lowest
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace StartThread
{
class Program
{
public class Alpha
{
public void Beta()
{
while (true)
{
Console.WriteLine("Alpha.Beta is running in its own threading.");
}
}
}
static void Main(string[] args)
{
Console.WriteLine("start/Stop Thread.");
Alpha alpha = new Alpha();
Thread oThread = new Thread(new ThreadStart(alpha.Beta));
oThread.Start();
while (!oThread.IsAlive)
Thread.Sleep(1);
oThread.Abort();
oThread.Join();
Console.ReadLine();
Console.WriteLine("Alpha has been finished.");
try
{
Console.WriteLine("try to restart the Beta thread ");
oThread.Start();
}
catch (ThreadStateException ex)
{
Console.Write("ThreadStateException trying to restart Alpha.Beta. ");
Console.WriteLine("Expected since aborted threads cannot be restarted.");
Console.ReadLine();
}
}
}
}
- 2009年暑期实习生活总结(一)
- 大三暑期实习总结
- 2011暑期实习总结
- 暑期实习简要总结
- 暑期实习笔试总结
- 暑期实习面试总结
- 2017暑期实习总结
- 微软暑期实习面试总结
- 2015 找暑期实习总结
- 阿里暑期实习一面总结
- 2015年腾讯暑期实习面试总结(技术岗)
- 2017年腾讯、阿里暑期前端实习面试总结
- 2009年暑期总结
- 2014暑期实习面经(一)
- IBM暑期实习笔试后总结
- 2012腾讯暑期实习笔试总结
- 腾讯2014暑期实习笔试总结
- 暑期百度实习 --- 第一周总结
- 彩色验证码
- 打开新的窗口与保住页面的referrer
- How Tomcat Works 12
- Ada语言简介
- 断点调试script脚本程序
- 2009年暑期实习生活总结(一)
- 能产生滚动条的 frameset
- How the web-tier compiler works
- 心路历程
- [转]桑兰与护工的矛盾是不容忽视的社会问题!
- 你知道为什么考你这个?——Java面试题及答案汇总分析(2)
- DIV+CSS构成的树型菜单
- 关于JAVA编程中遇到的Exception 待续......_01
- Visual C++ MFC 中常用宏的含义