什么是多线程技术(进程和线程有什么区别什么是多线程)

2024-06-28 15:08:30 77

什么是多线程技术(进程和线程有什么区别什么是多线程)

本文目录

进程和线程有什么区别什么是多线程


什么是系统进程
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
那进程与线程的区别到底是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成 Notepad.exe的代码及其所需调用动态链接库的进程。每个进程均运行在其专用且受保护的地址空间内。因此,如果你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。在记事本的一个拷贝中将无法看到该程序的第二个实例打开的数据。
以沙箱为例进行阐述。一个进程就好比一个沙箱。线程就如同沙箱中的孩子们。孩子们在沙箱子中跑来跑去,并且可能将沙子攘到别的孩子眼中,他们会互相踢打或撕咬。但是,这些沙箱略有不同之处就在于每个沙箱完全由墙壁和顶棚封闭起来,无论箱中的孩子如何狠命地攘沙,他们也不会影响到其它沙箱中的其他孩子。因此,每个进程就象一个被保护起来的沙箱。未经许可,无人可以进出。
实际上线程运行而进程不运行。两个进程彼此获得专用数据或内存的唯一途径就是通过协议来共享内存块。这是一种协作策略。下面让我们分析一下任务管理器里的进程选项卡。
这里的进程是指一系列进程,这些进程是由它们所运行的可执行程序实例来识别的,这就是进程选项卡中的第一列给出了映射名称的原因。请注意,这里并没有进程名称列。进程并不拥有独立于其所归属实例的映射名称。换言之,如果你运行5个记事本拷贝,你将会看到5个称为Notepad.exe的进程。它们是如何彼此区别的呢?其中一种方式是通过它们的进程ID,因为每个进程都拥有其独一无二的编码。该进程ID由Windows NT或Windows 2000生成,并可以循环使用。因此,进程ID将不会越编越大,它们能够得到循环利用。第三列是被进程中的线程所占用的CPU时间百分比。它不是CPU的编号,而是被进程占用的CPU时间百分比。此时我的系统基本上是空闲的。尽管系统看上去每一秒左右都只使用一小部分CPU时间,但该系统空闲进程仍旧耗用了大约99%的CPU时间。
第四列,CPU时间,是CPU被进程中的线程累计占用的小时、分钟及秒数。请注意,我对进程中的线程使用占用一词。这并不一定意味着那就是进程已耗用的CPU时间总和,因为,如我们一会儿将看到的,NT计时的方式是,当特定的时钟间隔激发时,无论谁恰巧处于当前的线程中,它都将计算到CPU周期之内。通常情况下,在大多数NT系统中,时钟以10毫秒的间隔运行。每10毫秒NT的心脏就跳动一下。有一些驱动程序代码片段运行并显示谁是当前的线程。让我们将CPU时间的最后10毫秒记在它的帐上。因此,如果一个线程开始运行,并在持续运行8毫秒后完成,接着,第二个线程开始运行并持续了2毫秒,这时,时钟激发,请猜一猜这整整10毫秒的时钟周期到底记在了哪个线程的帐上?答案是第二个线程。因此,NT中存在一些固有的不准确性,而NT恰是以这种方式进行计时,实际情况也如是,大多数32位操作系统中都存在一个基于间隔的计时机制。请记住这一点,因为,有时当你观察线程所耗用的CPU总和时,会出现尽管该线程或许看上去已运行过数十万次,但其CPU时间占用量却可能是零或非常短暂的现象,那么,上述解释便是原因所在。上述也就是我们在任务管理器的进程选项卡中所能看到的基本信息列。
什么是线程?
究竟什么是线程呢?正如在图A中所示,一个线程是给定的指令的序列 (你所编写的代码),一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量)。线程也可以从全局类中访问静态数据。
栈以及可能的一些共享数据
每个线程有其自己的堆栈和程序计数器(PC)。你可以把程序计数器(PC)设想为用于跟踪线程正在执行的指令,而堆栈用于跟踪线程的上下文,上下文是当线程执行到某处时,当前的局部变量的值。虽然你可以编写出在线程之间传送数据的子程序,在正常情况下,一个线程不能访问另外一个线程的栈变量。
一个线程必须处于如下四种可能的状态之一,这四种状态为:
初始态:一个线程调用了new方法之后,并在调用start方法之前的所处状态。在初始态中,可以调用start和stop方法。
Runnable:一旦线程调用了start 方法,线程就转到Runnable 状态,注意,如果线程处于Runnable状态,它也有可能不在运行,这是因为还有优先级和调度问题。 阻塞/ NonRunnable:线程处于阻塞/NonRunnable状态,这是由两种可能性造成的:要么是因挂起而暂停的,要么是由于某些原因而阻塞的,例如包括等待IO请求的完成。 退出:线程转到退出状态,这有两种可能性,要么是run方法执行结束,要么是调用了stop方法。
最后一个概念就是线程的优先级,线程可以设定优先级,高优先级的线程可以安排在低优先级线程之前完成。一个应用程序可以通过使用线程中的方法setPriority(int),来设置线程的优先级大小。

什么是多线程和多进程


多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
使用线程的好处有以下几点:
·使用线程可以把占据长时间的程序中的任务放到后台去处理
·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
·程序的运行速度可能加快
·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
====
■什么是多进程:
进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我多讲了吧,所有由你启动的进程都是用户进程。进程是操作系统进行资源分配的单位。
在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。
在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。现代的操作系统几乎都是多任务操作系统,能够同时管理多个进程的运行。 多任务带来的好处是明显的,比如你可以边听mp3边上网,与此同时甚至可以将下载的文档打印出来,而这些任务之间丝毫不会相互干扰。那么这里就涉及到并行的问题,俗话说,一心不能二用,这对计算机也一样,原则上一个CPU只能分配给一个进程,以便运行这个进程。我们通常使用的计算机中只有一个CPU,也就是说只有一颗心,要让它一心多用,同时运行多个进程,就必须使用并发技术。实现并发技术相当复杂,最容易理解的是“时间片轮转进程调度算法”,它的思想简单介绍如下:在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。但实际上在任何一个时间内有且仅有一个进程占有CPU。
如果一台计算机有多个CPU,情况就不同了,如果进程数小于CPU数,则不同的进程可以分配给不同的CPU来运行,这样,多个进程就是真正同时运行的,这便是并行。但如果进程数大于CPU数,则仍然需要使用并发技术。

什么是多线程技术在VB 中如何使用


vb6可以实现多线程,不过比较麻烦,vb.net完全支持多线程,请参见msdn.
至于vb6实现多线程请看CreateThread这个API函数.以下有详细方案:
用VB写多线程程序用到的第一个API函数是CreateThread,这个函数的声明如下:
Private Declare Function CreateThread Lib “kernel32“ (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long)As Long
这个函数的返回值是线程的句柄,它的参数含义如下:
1.lpThreadAttributes:这个参数表明函数的返回句柄是否可被子进程继承,如果可被继承,则指向一个SECURITY_ATTRIBUTES的结构,否则设为vbnull。
2.dwStackSize:这个参数设置线程的堆栈大小。
3.lpStartAddress:这个参数指明这个线程函数的起始地址。
4.lpParameter:这个参数是传给线程函数的参数。
5.dwCreationFlags:这个参数设置当线程创建时的初始状态,挂起,运行等等。
6.lpThreadId:这个参数是待创建线程的ID号。
假设创建一个管理线程的类clsThreads,用类的一个公用函数Initialize来初始化线程,用ResumeThread和SuspendThread函数来激活线程,实现代码如下:
Private Type udtThread
Handle As Long
Enabled As Boolean
End Type
Private uThread As udtThread
Private Const CREATE_SUSPENDED As Long = &H4
Private Declare Function CreateThread Lib “kernel32“ (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function ResumeThread Lib “kernel32“ (ByVal hThread As Long) As Long
Private Declare Function SuspendThread Lib “kernel32“ (ByVal hThread As Long) As Long
Private Declare Function TerminateThread Lib “kernel32“ (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Public Sub Initialize(ByVal lpfnBasFunc As Long) ’初始化线程
Dim lStackSize As Long, lCreationFlags As Long, lpThreadId As Long, lNull As Long
On Error Resume Next
lNull = 0 ’创建一个空指针
lStackSize = 0 ’0表示用exe的stack size
lCreationFlags = CREATE_SUSPENDED ’表示初始化后先不激活,让别人来激活
uThread.Handle = CreateThread(lNull, lStackSize, lpfnBasFunc, lNull, lCreationFlags, lpThreadId)
If uThread.Handle = lNull Then MsgBox “Create thread failed!“
End Sub
Public Property Get Enabled() As Boolean
On Error Resume Next
Enabled = uThread.Enabled
End Property
Public Property Let Enabled(ByVal vNewValue As Boolean)
On Error Resume Next
If vNewValue And (Not uThread.Enabled) Then
ResumeThread uThread.Handle ’激活线程
uThread.Enabled = True
ElseIf uThread.Enabled Then
SuspendThread uThread.Handle
uThread.Enabled = False
End If
End Property
Private Sub Class_Terminate() ’终止线程
On Error Resume Next
Call TerminateThread(uThread.Handle, 0)
End Sub
以上内容在类模块clsThreads中,有了它就可以在窗体中实现多线程了。下面以一个简单的例子来说明如何创建多线程(以2个线程为例)。
在form1中添加picture1和picture2两个图片框,以及一个command1按钮,在工程中添加一个bas模块,该模块的代码如下:
Option Explicit
Private Declare Function GetTickCount Lib “kernel32“ () As Long
Public Sub FlickerTop()
Static BgColor As Long
Dim lTick As Long, lCounter As Long
On Error Resume Next
For lCounter = 0 To 60000
BgColor = lCounter Mod 256
Form1.Picture1.BackColor = RGB(BgColor, 0, 0) ’变化图片框的颜色
lTick = GetTickCount
While GetTickCount - lTick 《 10 ’延迟10个毫秒时间
Wend
Next
End Sub
Public Sub FlickerBottom()
Static BgColor As Long
Dim lTick As Long, lCounter As Long
On Error Resume Next
For lCounter = 0 To 60000
BgColor = lCounter Mod 256
Form1.Picture2.BackColor = RGB(0, BgColor, 0)
lTick = GetTickCount
While GetTickCount - lTick 《 10
Wend
Next
End Sub
最后在form1中用下面的代码来创建两个线程,
Option Explicit
Public myThreadTop As New clsThreads, myThreadBottom As New clsThreads
Private Sub Command1_Click()
On Error Resume Next
With myThreadTop
.Initialize AddressOf FlickerTop
.Enabled = True
End With
With myThreadBottom
.Initialize AddressOf FlickerBottom
.Enabled = True
End With
MsgBox “看看会有什么...“
Set myThreadTop = Nothing
Set myThreadBottom = Nothing
End Sub

处理器的“几核”、“几线程”是什么意思


几核:指多核心,即单芯片多处理器,简称CMP。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。

几线程:指多线程,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。

扩展资料:

CPU核心和线程主要功能:

1、处理指令

英文Processing instructions;这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。

2、执行操作

英文Perform an action;一条指令的功能往往是由计算机中的部件执行一序列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。

3、控制时间

英文Control time;时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地工作。
4、处理数据

中央处理器即对数据进行算术运算和逻辑运算,或进行其他的信息处理。

参考资料来源:百度百科-处理器核心

参考资料来源:百度百科-线程

参考资料来源:百度百科-处理器



多线程技术和流水线技术的区别是什么


区别是:
多线程技术主要是利用时间片划分让cpu分时处理多个线程,而流水线技术是通过流水化任务处理提高cpu的利用率。
在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。

什么是多线程技术(进程和线程有什么区别什么是多线程)

本文编辑:admin

更多文章:


如何让Windows 10系统桌面变得更好看?win10桌面的简单美化

如何让Windows 10系统桌面变得更好看?win10桌面的简单美化

大家好,如果您还对桌面美化不太了解,没有关系,今天就由本站为大家分享桌面美化的知识,包括如何让Windows 10系统桌面变得更好看的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何让Windows 10系统桌面

2024年7月26日 13:01

微信会员卡管理系统(微信会员卡是怎么实现的)

微信会员卡管理系统(微信会员卡是怎么实现的)

大家好,今天小编来为大家解答以下的问题,关于微信会员卡管理系统,微信会员卡是怎么实现的这个很多人还不知道,现在让我们一起来看看吧!本文目录微信会员卡是怎么实现的微信会员卡管理系统多少钱微信会员系统具体是怎么做的美发店微信会员卡管理系统如何做

2024年10月14日 19:35

msvcr100 dll放哪里(msvcp100.dll丢失怎么办放在哪里)

msvcr100 dll放哪里(msvcp100.dll丢失怎么办放在哪里)

本文目录msvcp100.dll丢失怎么办放在哪里msvcr100.dll放在哪里围攻》的msvcr100.dll文件应该放在哪个文件夹msvcr100.dll放哪里msvcp100.dll丢失怎么办放在哪里下载到该DLL文件后将msvcp

2024年6月3日 02:32

星际争霸2手游单机版下载中文版(《星际争霸2》怎么玩单机的)

星际争霸2手游单机版下载中文版(《星际争霸2》怎么玩单机的)

大家好,关于星际争霸2手游单机版下载中文版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于《星际争霸2》怎么玩单机的的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮

2024年6月13日 03:24

图片编辑工具(编辑照片的软件哪个好)

图片编辑工具(编辑照片的软件哪个好)

各位老铁们,大家好,今天由我来为大家分享图片编辑工具,以及编辑照片的软件哪个好的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录编辑照片的软件哪个好有

2024年7月23日 07:21

手机键盘输入法下载(怎样设置手机键盘输入方式)

手机键盘输入法下载(怎样设置手机键盘输入方式)

大家好,手机键盘输入法下载相信很多的网友都不是很明白,包括怎样设置手机键盘输入方式也是一样,不过没有关系,接下来就来为大家分享关于手机键盘输入法下载和怎样设置手机键盘输入方式的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧

2024年6月22日 02:49

天谕生活技能(天谕手游生活技能新手有几级)

天谕生活技能(天谕手游生活技能新手有几级)

本文目录天谕手游生活技能新手有几级最近在玩天谕,想做个休闲玩家,生活技能需要怎么练,我打算主攻裁缝,生活技能是不是也需要地区声望,裁天谕鲤鱼王用什么鱼饵天谕生活技能赚钱方法 天谕怎么用生活技天谕生活技能怎么练天谕副职业准考证在哪买天谕生活技

2024年1月1日 06:00

腾讯qq代码(腾讯qq错误代码116705是什么意思)

腾讯qq代码(腾讯qq错误代码116705是什么意思)

本文目录腾讯qq错误代码116705是什么意思QQ软件的代码有多少腾讯官方认证qq代码是多少腾讯QQ公司的股票代码是多少呢2012年6月腾讯QQ最新百分百能用的Q币代码qq代码怎么用qq版本各个版本的代码,我要包括现在最新的,谢谢~!腾讯q

2024年5月26日 20:07

我的世界不一样(我想问一下,为什么我的手机网易版我的世界和别人主页都不一样)

我的世界不一样(我想问一下,为什么我的手机网易版我的世界和别人主页都不一样)

本文目录我想问一下,为什么我的手机网易版我的世界和别人主页都不一样我要怎么下载不一样的我的世界为什么手机上的我的世界和有些主播玩的不一样,别的主播画质很好,我的就不好为什么我的世界和别人的不一样我的世界手机版和电脑版有什么不同网易我的世界电

2024年7月13日 16:54

弈城围棋水平对照表(围棋等级的划分,简单说一下就行)

弈城围棋水平对照表(围棋等级的划分,简单说一下就行)

各位老铁们,大家好,今天由我来为大家分享弈城围棋水平对照表,以及围棋等级的划分,简单说一下就行的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录围棋等

2024年7月28日 07:50

autocad2007画图教程(cad二维设计画图教程)

autocad2007画图教程(cad二维设计画图教程)

大家好,如果您还对autocad2007画图教程不太了解,没有关系,今天就由本站为大家分享autocad2007画图教程的知识,包括cad二维设计画图教程的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录cad二维设

2024年8月4日 12:55

腾讯首页qq(QQ与腾讯首页问题)

腾讯首页qq(QQ与腾讯首页问题)

本文目录QQ与腾讯首页问题打开QQ腾讯首页的问题为什么腾讯QQ首页无法显示QQ与腾讯首页问题如果你是会员的话才可以取消弹出迷你首页,不是的话只要你登陆就会自动弹出,如果关了想看的话可以点击如下图:QQ个人设置-系统设置-基本设置如果你是会员

2024年1月2日 12:00

网络安全教育知识(大学生网络安全知识有哪些)

网络安全教育知识(大学生网络安全知识有哪些)

“网络安全教育知识”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网络安全教育知识(大学生网络安全知识有哪些)!本文目录大学生网络安全知识有哪些网络安全基础知识大全网络安全教育知识有哪些小学生应该如何进行网络安全教育网络安全

2024年9月27日 04:35

排超联赛积分榜(历届中超积分榜排名)

排超联赛积分榜(历届中超积分榜排名)

本篇文章给大家谈谈排超联赛积分榜,以及历届中超积分榜排名对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录历届中超积分榜排名中超联赛积分榜排名

2024年10月24日 11:45

s4 root教程(GALAXY S4 如何获取ROOT权限)

s4 root教程(GALAXY S4 如何获取ROOT权限)

本文目录GALAXY S4 如何获取ROOT权限三星GALAXYS4怎么获得ROOT权限怎样获取s4的root权限奇兔一键ROOT教程---三星S4获取ROOT权限的方法GALAXY S4 如何获取ROOT权限使用towelroot工具进行

2023年6月18日 15:00

公安交警官网 违章查询(交警网违章查询)

公安交警官网 违章查询(交警网违章查询)

其实公安交警官网 违章查询的问题并不复杂,但是又很多的朋友都不太了解交警网违章查询,因此呢,今天小编就来为大家分享公安交警官网 违章查询的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录交警网违章查询小型汽车违章怎

2024年5月16日 19:53

电子音乐相册制作(怎样制作音乐相册上快手)

电子音乐相册制作(怎样制作音乐相册上快手)

其实电子音乐相册制作的问题并不复杂,但是又很多的朋友都不太了解怎样制作音乐相册上快手,因此呢,今天小编就来为大家分享电子音乐相册制作的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录怎样制作音乐相册上快手微信朋友圈

2024年5月22日 05:14

长虹手机官网(长虹手机的虹是代表什么意思)

长虹手机官网(长虹手机的虹是代表什么意思)

本文目录长虹手机的虹是代表什么意思长虹虹手机多少钱长虹手机官网长虹手机的虹是代表什么意思虹phone的全名是——长虹智能手机虹phone。这款手机于4月10日正式在长虹手机官网宣布可以预订,而且现在预订的话,可享“长虹惠民价”1990元(市

2023年7月17日 07:40

召唤兽初值计算器(怎么算大话召唤兽的初值)

召唤兽初值计算器(怎么算大话召唤兽的初值)

本文目录怎么算大话召唤兽的初值大话2召唤兽计算器大话西游2中的召唤兽怎么查初值大话西游2现在召唤兽的初值计算器怎么不好用了呢感觉为什么没有大话2 当康召唤兽的计算器啊大话2原始敏和实际初敏怎么算大话2主页的召唤兽数据预测是不是错的,为什么现

2024年6月4日 19:35

球球大作战刷棒棒糖(球球大作战怎么刷棒棒糖 拿棒棒糖有什么用)

球球大作战刷棒棒糖(球球大作战怎么刷棒棒糖 拿棒棒糖有什么用)

本文目录球球大作战怎么刷棒棒糖 拿棒棒糖有什么用球球大作战刷棒棒糖方法攻略有哪些什么是刷棒棒糖球球大作战刷棒棒糖攻略 怎么一次性刷100个棒棒糖《球球大作战》刷10个棒棒糖的方法球球大作战怎么刷无限棒棒糖球球大作战怎么快速获得棒棒糖球球大作

2024年5月9日 17:05

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1736
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索