<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文 &#187; yanruoshui</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/author/yanruoshui/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Mon, 28 May 2012 14:23:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Java的多线程</title>
		<link>http://software.intel.com/zh-cn/blogs/2011/07/04/java-10/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2011/07/04/java-10/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 02:59:08 +0000</pubDate>
		<dc:creator>yanruoshui</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[并行计算]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2011/07/04/java-10/</guid>
		<description><![CDATA[一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序，每个进程都有自己独立的一块内存空间，一个进程中可以启动多个线程。比如在Windows系统中，一个运行的exe就是一个进程。 线程是指进程中的一个执行流程，一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程，进程中的多个线程共享进程的内存。 “同时”执行是人的感觉，在线程之间实际上轮换执行。 二、Java中的线程 在Java中，“线程”指两件不同的事情： 1、java.lang.Thread类的一个实例； 2、线程的执行。 使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。 一个Thread类实例只是一个对象，像Java中的任何其他对象一样，具有变量和方法，生死于堆上。 Java中，每个线程都有一个调用栈，即使不在程序中创建任何新的线程，线程也在后台运行着。 一个Java应用总是从main()方法开始运行，mian()方法运行在一个线程内，它被称为主线程。 一旦创建一个新的线程，就产生一个新的调用栈。 线程总体分两类：用户线程和守候线程。 当所有用户线程执行完毕的时候，JVM自动关闭。但是守候线程却不独立于JVM，守候线程一般是由操作系统或者用户自己创建的。]]></description>
			<content:encoded><![CDATA[<p>一、操作系统中线程和进程的概念</p>
<p>现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。</p>
<p>进程是指一个内存中运行的应用程序，每个进程都有自己独立的一块内存空间，一个进程中可以启动多个线程。比如在Windows系统中，一个运行的exe就是一个进程。</p>
<p>线程是指进程中的一个执行流程，一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程，进程中的多个线程共享进程的内存。</p>
<p>“同时”执行是人的感觉，在线程之间实际上轮换执行。</p>
<p>二、Java中的线程</p>
<p>在Java中，“线程”指两件不同的事情：<br />
1、java.lang.Thread类的一个实例；<br />
2、线程的执行。</p>
<p>使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。</p>
<p>一个Thread类实例只是一个对象，像Java中的任何其他对象一样，具有变量和方法，生死于堆上。</p>
<p>Java中，每个线程都有一个调用栈，即使不在程序中创建任何新的线程，线程也在后台运行着。</p>
<p>一个Java应用总是从main()方法开始运行，mian()方法运行在一个线程内，它被称为主线程。</p>
<p>一旦创建一个新的线程，就产生一个新的调用栈。</p>
<p>线程总体分两类：用户线程和守候线程。</p>
<p>当所有用户线程执行完毕的时候，JVM自动关闭。但是守候线程却不独立于JVM，守候线程一般是由操作系统或者用户自己创建的。</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2011/07/04/java-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java的多线程（续写）</title>
		<link>http://software.intel.com/zh-cn/blogs/2011/06/30/java-8/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2011/06/30/java-8/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 02:41:04 +0000</pubDate>
		<dc:creator>yanruoshui</dc:creator>
				<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[并行计算]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2011/06/30/java-8/</guid>
		<description><![CDATA[  在多任务系统中，每个独立执行的程序成为进程，也就是“正在进行的程序”。 我们现在使用的系统一般都是多任务的，即能够同时执行多个应用程序，实际情况是，操作系统负责对cpu等设备的资源进行分配和管理，虽然这些设备某一时刻只能做一件事，但是以非常小的时间间隔交替执行多个程序，就可以给人以同时执行多个程序的感觉。 一个进程中又可以一个或多个线程，一个线程就是一个程序内部的一条执行线索，如果要一个程序中实现多段代码同时交替运行，就需产生多个线程，并指定每个线程上要运行的程序代码段，这就是多线程。 class ThreadDemo1 { public static void main(String[] args){ new TestThread().start(); while(true){ System.out.println("main() "+Thread.currentThread().getName()); } } } /* new Thread().start(); new Thread()创建了一个线程，然后调用其start()方法，启动这个线程 线程启动后会调用Thread类的run()方法，该方法为空的函数，里面没有任何代码，也就是说启动这样的线程 没有意义，因此需要创建一个Thread类的子类，在这个子类中覆盖Thread类的run()方法。在方法中编写 我们想要运行的代码。new TestThread() 创建一个Thread类的线程对象，再调用子类对象的start()方法 由多态性知道，尽管TestThread()类的start()方法是从父类继承，但是这个run()方法会调用子类的 run()方法。 */ class TestThread extends Thread{ public void run(){ while(true){ System.out.println("run() "+Thread.currentThread().getName()); } } }]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>在多任务系统中，每个独立执行的程序成为进程，也就是“正在进行的程序”。</p>
<p>我们现在使用的系统一般都是多任务的，即能够同时执行多个应用程序，实际情况是，操作系统负责对cpu等设备的资源进行分配和管理，虽然这些设备某一时刻只能做一件事，但是以非常小的时间间隔交替执行多个程序，就可以给人以同时执行多个程序的感觉。</p>
<p>一个进程中又可以一个或多个线程，一个线程就是一个程序内部的一条执行线索，如果要一个程序中实现多段代码同时交替运行，就需产生多个线程，并指定每个线程上要运行的程序代码段，这就是多线程。</p>
<p>class ThreadDemo1</p>
<p>{</p>
<p>public static void main(String[] args){</p>
<p>new TestThread().start();</p>
<p>while(true){</p>
<p>System.out.println("main() "+Thread.currentThread().getName());</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>/*</p>
<p>new Thread().start(); new Thread()创建了一个线程，然后调用其start()方法，启动这个线程</p>
<p>线程启动后会调用Thread类的run()方法，该方法为空的函数，里面没有任何代码，也就是说启动这样的线程</p>
<p>没有意义，因此需要创建一个Thread类的子类，在这个子类中覆盖Thread类的run()方法。在方法中编写</p>
<p>我们想要运行的代码。new TestThread() 创建一个Thread类的线程对象，再调用子类对象的start()方法</p>
<p>由多态性知道，尽管TestThread()类的start()方法是从父类继承，但是这个run()方法会调用子类的</p>
<p>run()方法。</p>
<p>*/</p>
<p>class TestThread extends Thread{</p>
<p>public void run(){</p>
<p>while(true){</p>
<p>System.out.println("run() "+Thread.currentThread().getName());</p>
<p>}</p>
<p>}</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2011/06/30/java-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

