多线程技术
文章平均质量分 73
Devillyd
这个作者很懒,什么都没留下…
展开
-
运行时: 使进程和线程同步
在 Ed 以前的文章中谈到了管道,一种 Windows 和 Linux 上进程间通信的形式。本文中,他探讨了进程间同步原语(作为控制两个进程访问同一资源的方法)。象往常一样,Ed 的目的是推荐几种方法来优化编程实践,并且演示了那些编程实践的性能。单击本文顶部或底部的讨论进入论坛,与作者以及其他读者分享您对本文的看法。在开始之前,让我们先来回顾几个用于各种操作系统的术语:当不区分 Windows转载 2006-11-03 12:25:00 · 1063 阅读 · 0 评论 -
鱼还是熊掌:浅谈多进程多线程的选择
<br />关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。<br />经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。<br />我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因转载 2010-08-04 12:47:00 · 751 阅读 · 0 评论 -
结束进程(根据可执行文件名)
//来自《猛料》uses Tlhelp32; function KillTask(ExeFileName: string): Integer; const PROCESS_TERMINATE = $0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; b原创 2007-06-25 15:39:00 · 1157 阅读 · 0 评论 -
多线程修改VCL控件造成的ntdll.dll错
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1574375问题:我调试老是提示: NTDLL.DLL出错线程中: Execute 中调用一个写在线程单元的过程 P ,p 执行完后调用Call 过程,如下:procedure TDatav.Execute ; begin if ..... begin p ;PP:原创 2006-11-28 10:16:00 · 2802 阅读 · 0 评论 -
在子线程中创建线程的方法
与在主线程创建子线程的方法是一样的----Windows95是Microsoft公司的第一个真正的多任务操作系统。在每一时刻可以有多个进程同时工作,而每一个进程又包含有多个线程。但只有一个处理器的计算机不可能真正地“同时”执行多个线程,而是操作系统把时间分成若干个时间片,然后把一个个时间片分配给每一个线程。----一个执行了的程序就是一个进程,一个进程则至少有一个主线程。一位高级程序员,绝不会让自转载 2006-11-22 10:29:00 · 3127 阅读 · 0 评论 -
线程基本概念
线程(thread, 台湾称 执行绪)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。 线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现原创 2006-11-22 10:31:00 · 2108 阅读 · 0 评论 -
多线程的效率问题(论坛帖子)
问题:用ADO加多线程,为什么感觉和单线程是一样的,我加分! ( 积分:100, 回复:13, 阅读:366 )分类:多线程 ( 版主:g622, wjiachun ) 来自:wpy原创 2006-11-06 13:13:00 · 1792 阅读 · 0 评论 -
线程同步修改数据库(论坛转贴)
在我编写的程序中用以下调用线程: t:=mytthread.create(adoconnection1,listbox1); t.Resume; e:=mytthread.create(adoconnection2,listbox1); e.Resume; u:=mytthread.create(adoconnection3,listbox1);原创 2006-11-06 13:06:00 · 1788 阅读 · 0 评论 -
线程杂谈
前言由于项目的关系,所以和线程的接触颇多,常常遇到问题,常常看TThread的代码,又常常想一些办法来解决遇到的问题,所以就有了这篇文章。 正文我们常有工作线程和主线程之分,工作线程负责作一些后台操作,比如接收邮件;主线程负责界面上的一些显示。工作线程的好处在某些时候是不言而喻的,你的主界面可以响应任何操作,而背后的线程却在默默地工作。VCL中,工作线程执行在Execut原创 2006-11-06 13:11:00 · 1404 阅读 · 0 评论 -
最简单的线程并发例子
用一个线程来实现这个功能1:变量i从0--40000来循环改变一个label1的值,值和i的值一样 然后不用线程也实现这个label2的显示功能2 如何把功能1和功能2同时进行? 1、建立主程序2、创建线程对象(FILE->NEW->Thread Object)3、编写线程代码 (编写同步方法成员)4、在主程序中建立线程对象(原创 2006-11-06 11:31:00 · 2287 阅读 · 0 评论 -
漫谈C++ Builder多线程编程技术
摘要:本文简单介绍了Windows环境下进行多线程编程的意义,重点讨论了C++Builder环境下开发多线程应用程序这一问题,并通过实现生产者-消费者问题,帮我们更好地理解同步概念及其实现方法。 关键词:多线程;同步;生产者-消费者;C++Builder 线程之可行性 在很多情况下,可能需要为程序创建线程。这里给出其中一些可能性: (1)如果创建的是一个多文档接口(Multiple转载 2006-11-06 11:29:00 · 3021 阅读 · 0 评论 -
线程分析---引用(Dephi)
Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。 线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线原创 2006-11-06 13:04:00 · 1672 阅读 · 0 评论 -
C#线程系列讲座(1):BeginInvoke和EndInvoke方法
<br />开发语言:C#3.0<br />IDE:Visual Studio 2008<br />本系列教程主要包括如下内容:<br />1. BeginInvoke和EndInvoke方法<br />2. Thread类<br />3. 线程池<br />4. 线程同步基础<br />5. 死锁<br />6. 线程同步的7种方法<br />7. 如何在线程中访问GUI组件<br />一、线程概述<br />在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,转载 2010-08-03 09:35:00 · 990 阅读 · 0 评论