单线程和一般程序有什么区别吗

问题描述

单线程和一般程序有什么区别吗,他们都是从上往下一行一行的执行的啊,两者的区别和作用有些模糊,还请各位网友大神指点迷经。谢谢各位

解决方案

解决方案二:
单线程就是一般的程序,你说的是多线程么?多线程其实也是一般的程序,只是因为并发执行,需要对堆上的变量同步而已。
解决方案三:
这是“操作系统”课程概念了,给你复习一下:进程就是应用程序在加载到内存中可执行的影像。线程是进程中的一个个控制(记录)CPU寄存器状态的上下文单元。在windows中,进程并不能单独执行,进程中至少有一个“父线程”,它可能产生更多的子线程。在windows中真正“直接”执行的其实是线程,而不是进程。每一个线程的上下文数据结构,都至少占用1M堆栈内存空间,还有其它一些东西。windows抢先式地分时切换线程上下文来改变CPU寄存器状态,非常快非常频繁。
解决方案四:
谢谢各位了啊
解决方案五:
通俗点讲:单线程,就是你吃完早饭才能出门多线程,你一边吃早饭一边出门
解决方案六:
引用4楼lovelj2012的回复:

通俗点讲:单线程,就是你吃完早饭才能出门多线程,你一边吃早饭一边出门

解决方案七:
单线程就是只能进行单一的操作,多线程就是可以同时做多件事情
解决方案八:
你所谓的一般程序是什么程序呢?一般程序内部可以有多线程,也可以是单线程
解决方案九:
一般程序既包括单线程的,也包括多线程的
解决方案十:
我比较搞不清楚的是,单线程与异步、多线程与并发,也就是“单线程的异步就是多线程”、“多线程不一定造成并发”、“多线程一定是异步”这种判断题

时间: 2024-11-05 18:57:00

单线程和一般程序有什么区别吗的相关文章

c++-开发32位程序和64位程序有什么区别?假设用C++开发

问题描述 开发32位程序和64位程序有什么区别?假设用C++开发 假设现要开发一个win程序,用C++语言,那么开发我32bit程序跟开发64bit程序有什么区别? 解决方案 你是问开发有什么不同,ok,其实google一下答案就有了. 1. 首先数据类型不一样 在32位平台整型啊,指针啊都是32位的,到64位平台就是64位了,你要注意这个区别,比如溢出. 还有一些数据结构变化了,比如time_t,你的小心. 浮点数的结构也在32和64也不太一样 2. 数据转换发生了变化,比如在32位平台做以下

c++-win32编程中基于对话框的程序和普通的窗口程序有什么区别?

问题描述 win32编程中基于对话框的程序和普通的窗口程序有什么区别? 很疑惑,既然窗口可以直接编写,为什么还要基于对话框来写程序? 解决方案 这就好比你将滚动条用于窗口一部分和使用滚动条控件,效果最终一样,但是后者Windows会为你处理一些鼠标和键盘上的逻辑,使得编程更容易,对话框中一般使用大量控件,Windows会为你处理比如输入焦点转移.键鼠等逻辑.

这两段c++程序有什么区别?

问题描述 这两段c++程序有什么区别? acm入门的一个题目:输入包括多组测试数据,每组测试数据包括一对整数a和b,每一对a和b整数占一行.如果a和b都为0标志输入结束,并且(0, 0)这组数据不用输出结果.对每对输入的整数a和b,用一行输出a和b的和,每行输出对应一行输入. 然后一个判对一个判错 实在看不出区别 解决方案 你上面那样的写法while(std::cin >> a >> b && a != 0 && b != 0) 意思是a和b必须同时

windows下的应用程序和控制台应用程序有什么区别?

问题描述 初学者,问高手一个菜鸟级的问题:例如:在一个界面的textbox1.Text里输出一句话,不能用Console.WriteLine()直接输出吗?为什么有的是这样写:textbox1.Text=stringstr.ToString();Console.WriteLine();与txtbox1.Text=str.ToString();区别在哪呢?搞晕了好像 解决方案 解决方案二:Console.WriteLine();是读取控制台的输入界面上的TextBox不能用这个哈,建议好好学学基础

计算机爱好者与程序员的区别

导读:本文是从<Hackers vs. Coders>这篇文章翻译而来.译文来自外刊IT评论整理编译<计算机爱好者 VS. 程序员>.文中简单介绍了程序员和计算机爱好者之前的区别. 以下是文章内容: 优秀的计算机爱好者具有一种无价的技能.可作为一名程序员会跟计算机爱好者一样吗?难道程序员跟那些不知道如何编码的计算机爱好者们相比,会在创造性上处于劣势吗? 下面的这个故事让我看清了他们之间的不同. 我最近被邀请在一个周末创业活动中做指导.周五晚上,我们召集到一起吃匹萨,定创意,建团队以

Web服务器和应用程序服务器的区别

通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods).确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic).   Web服务器(Web Server) Web服务器可以解析(handles)HTTP协议.当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响

ASP.net中新建Web网站与新建Web应用程序的区别

asp教程.net中新建web网站与新建web应用程序的区别 在visual studio 2010中,除了可以使用创建web应用程序的方式来构建自己的web项目之外,还可以通过创建web网站的方式来构建web项目. 其中,web网站的创建方法:打开visual studio 2010主窗体,在工具栏里选择"new"|"web site"命令,在弹出的new web site窗体里可以通过"asp.net教程 web site"和"em

vb.net2005下的pocket pc 2003应用程序与windows ce 5.0应用程序的区别

问题描述 小弟最近在开发PDA程序,发现在建立工程的时候有2中,pocketpc2003应用程序和windowsce5.0应用程序.请文一下这2中应用程序有什么区别,使用哪一种开发更为简便?望高手解答,本人不胜感激 解决方案 解决方案二:WindowsCE是微软公司嵌入式.移动计算平台的基础,它是一个开放的.可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统.WinCE是一个嵌入式操作系统,使用范围更广泛,不过它只是提供最基本的操作系统功能.WindowMobile是一个基于Wi

用AJAX开发智能Web应用程序之基础篇

一. 什么是AJAX? 这个名字代表了异步javascript+XMLHTTPRequest,并且意味着你可以在基于浏览器的javascript和服务器之间建立套接字通讯.其实AJAX并不是一种新技术,而是已经成功地用于现代浏览器中的若干成功技术的可能性组合.所有的AJAX应用程序实现了一种"丰富的"UI--这是通过javascript操作HTML文档对象模型并且经由XMLHttpRequest实现的精确定位的数据检索来实现的.典型的示例AJAX应用程序是Google Labs(htt