
进程与线程
Mr_John_Liang
这个作者很懒,什么都没留下…
展开
-
线程池的介绍及简单实现
关于线程池的简单介绍线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这转载 2013-05-30 09:32:32 · 569 阅读 · 0 评论 -
多线程原理实现
线程状态在一个线程的生存期内,可以在多种状态之间转换。不同操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态。但大体说来,如下几种状态是通用的: 就绪:参与调度,等待被执行。一旦被调度选中,立即开始执行。 运行:占用CPU,正在运行中。 休眠:暂不参与调度,等待特定事件发生。 中止:已经运转载 2013-06-03 10:09:47 · 800 阅读 · 1 评论 -
多线程学习笔记
多线程学习笔记byxdaz 于 星期三, 23/09/2009 - 16:05 提交多线程概述 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。 线程转载 2013-06-03 12:08:38 · 665 阅读 · 0 评论 -
进程间通信方式总结(windows 和linux)
windows进程间同步方式有:1. 互斥量 mutex 2. 信号量 semaphore 3.事件 event 4.临界区 Critical Section 5.互锁函数 临界区和互锁函数没有相应的内核对象因而不能跨进程 linux进程同步方式有:互斥量、读写锁、条件变量 linux内核同步方法:原子操作、自旋锁转载 2013-07-18 14:42:43 · 1490 阅读 · 0 评论 -
进程间的8种通信方式
1无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2.高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。3 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。转载 2013-07-02 14:44:58 · 660 阅读 · 0 评论 -
Use Named Pipes and Shared Memory for inter process communication with a child process or two
I wanted to inject some very low impact code that would run in any “parent” process, like Notepad or Excel or Visual Studio. I wanted to have some User Interface for the data that my injected co转载 2014-01-14 18:55:03 · 1435 阅读 · 0 评论 -
C++创建线程
在window系统中编写控制台程序,创建线程使用CreateThread()函数创建,则线程函数必须申明为DWORD WINAPI;使用_beginthreadex()创建,则线程函数必须申明为unsigned int WINAPI;并需要设置环境:工程->设置->C/C++->Code Generation->Use run-time libray->选 Debug Multithr转载 2014-04-02 14:49:29 · 3619 阅读 · 0 评论 -
C++多线程编程简单实例
C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD SIZE_T dwStackSize,转载 2014-04-02 14:53:08 · 995 阅读 · 0 评论 -
Thread的run()与start()的差别
java中thread的start()和run()的区别:1.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码:通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程转载 2014-06-04 21:19:43 · 638 阅读 · 0 评论