`
神说要好好学习
  • 浏览: 5730 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

线程基础(1)

 
阅读更多

1.线程和进程
  进程:就是一个程序,比如你打开了QQ、酷狗音乐、快播.....
  线程:就是任务,比如你和别人用QQ和别人聊天,用酷狗听音乐,用快播看电影.....
关于单线程和多线程,我听过最俗气的也是最容易理解的就是:“你扫一条大马路,你自己扫叫单线程,你叫别人来帮忙分段扫叫多线程”。一个QQ程序可以同时和很多人聊QQ,一个浏览器可以同是浏览很多网页,但是一个酷狗音乐只能同是播放一首歌,只有当前这首结束或者被中断才可能播放下一首。

2.创建一个简单的线程对象
  百度上提供了两种通用的创建简单线程的方法,一种是实现Runnable接口:
  ①实现Runnable接口MyRunnable
  ②重写run函数
  ③实例化一个MyRunnable对象mr,一个Thread对象t,并将mr传入t中
/**
 * 用实现Runnable方法创建线程类
 * @author Admin
 *
 */
public class PointRunnable implements Runnable{
	public String name ;
	public PointRunnable(String name){	
		this.name = name ;
	}
	/**
	 * 重写run函数
	 */
	public void run(){
		System.out.println("实现Runnable类型的"+name+"start!");
		try{
			Thread.sleep(500);
		}catch(Exception e){
		}
        System.out.println("休息了500ms之后的"+name);	
	}
        public static void main(String[] arg){
                //使用实现接口Runnable创建线程对象
	        PointRunnable pr1 = new PointRunnable("Thread1 ");
	        Thread myt1 = new Thread(pr1);
	        myt1.start();
	        PointRunnable pr2 = new PointRunnable("Thread2 ");
	        Thread myt2 = new Thread(pr2);
	        myt2.start();
        }
}

	



  第二种方法是直接构造Thread的子类,重写run函数,创建对象并调用其start函数


/**
 * 继承Thread实现线程
 * @author Admin
 *
 */
public class PointThread extends Thread{
	public String name ;
	public PointThread(String name){
		this.name = name ;
	}
	/**
	 * 重写run函数
	 */
	public void run(){
		System.out.println("继承Thread的线程"+name+"start!");
		try{
			Thread.sleep(500);
		}catch(Exception e){
		}
        System.out.println("休息了500ms之后的"+name);	
	}
        public static void main(String[] arg){
                //使用创建Thread子类实现创建线程对象
	        PointThread pt1 = new PointThread(g,"Thread1 ");
	        pt1.start();
	        PointThread pt2 = new PointThread(g,"Thread2 ");
  	        pt2.start();
        }
}	



困得不行了。。。剩下多线程的控制还有线程的锁定明天早继续
洗洗睡了。。。。。
分享到:
评论

相关推荐

    C#多线程基础

    ### C#多线程基础详解 #### 知识点一:多线程概念与优势 在C#中,多线程是指一个程序中同时执行多个线程的能力。一个线程是程序执行的基本单位,每个线程都有自己的指令指针、栈和局部变量,但共享相同的内存空间...

    C#多线程实例

    一、多线程基础 1. **线程定义**:线程是程序执行的最小单元,一个进程可以包含多个线程,它们共享同一内存空间,可以同时执行不同的任务。 2. **并行与并发**:并行是指多个线程在同一时刻执行,通常需要多核CPU...

    JAVA多线程基础演练DEMO

    这个"JAVA多线程基础演练DEMO"提供了一些基础示例,帮助开发者更好地理解和掌握多线程的基本概念和用法。以下将详细讲解Java多线程的相关知识点: 1. **线程的创建** - **继承Thread类**:创建一个新类,继承自`...

    Java线程使用教程

    一、线程基础 1. **线程的概念**:线程是操作系统分配CPU时间的基本单位,一个进程可以包含一个或多个线程。在Java中,每个线程都有自己的程序计数器、虚拟机栈、本地方法栈,共享堆内存和类加载器。 2. **线程的...

    java多线程示例

    一、Java多线程基础 1. 创建线程: - 继承Thread类:创建一个新的类,继承自Thread类,重写其run()方法,然后创建该类的实例并调用start()方法。 - 实现Runnable接口:创建一个实现了Runnable接口的类,实现run()...

    多线程编程指南_学习多线程编程的宝典

    一、多线程基础 1. 线程的概念:线程是操作系统分配CPU时间的基本单位,一个进程可以包含多个线程,它们共享进程的内存空间,但拥有独立的执行路径。 2. C++11引入的线程库:C++11标准引入了`<thread>`库,提供了...

    delphi 多线程调试demo

    一、多线程基础 1. **线程概念**:线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个线程。在单线程应用中,所有操作都在主线程中执行,而在多线程应用中,不同任务可以在不同的线程中并行运行。 2. **...

    多线程教程+实例讲解

    一、多线程基础 1. 线程与进程:线程是操作系统分配处理器时间的基本单位,而进程则是一个独立的资源拥有者,包含一组线程。相比进程,线程间通信更快,切换成本更低。 2. 创建线程:Java中可以通过实现Runnable接口...

    完整版多线程支持模块.rar

    一、多线程基础 1. 线程定义:线程是操作系统分配处理器时间的基本单元,是程序执行流的最小单元。一个进程可以包含一个或多个线程。 2. 线程的优点:提高资源利用率,降低程序响应时间,实现并发执行,提高程序执行...

    java多线程设计

    一、Java多线程基础 1. 线程的创建:Java提供了两种创建线程的方式——继承Thread类和实现Runnable接口。继承Thread类可以直接创建一个新的线程类,而实现Runnable接口则可以将线程逻辑封装在任何类中,更利于代码...

    多线程编程的资料(自己收集的)

    #### 二、线程基础 1. **线程定义**:线程是在进程内部执行的一组指令序列。每个线程都有自己的栈和局部变量,但共享进程的全局变量和其他资源。 2. **多线程与单线程**:多线程指的是进程内部存在多个线程,每个...

    超实用的Java并发多线程教程

    一、线程基础 1. `Thread`类:Java中的`Thread`类是所有线程的基础,通过创建`Thread`对象并调用其`start()`方法,可以启动一个新的线程。线程的生命周期包括新建、就绪、运行、阻塞和终止五个状态。 2. `Runnable`...

    多线程.rar

    一、多线程基础 1. 主线程:主线程是应用的入口,负责处理UI更新和用户交互。为了保证界面的流畅,所有的UI操作应该在主线程上进行。 2. 工作线程:工作线程用于执行耗时的操作,如网络请求、数据计算等,以避免...

    Dephi关于多线程的资料

    一、多线程基础 1. 线程概念:线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个线程同时运行。在Delphi中,我们可以创建并管理多个线程来执行不同的任务,从而实现并发处理。 2. VCL(Visual Component ...

    mfc多线程文件下载器

    一、MFC多线程基础 1. **创建线程**: MFC提供CWinThread类作为线程的基础,通过派生并重写Run()函数来定义线程的行为。创建新线程时,通常需要创建CWinThread对象,并调用其CreateThread()成员函数。 2. **线程...

    ASP.NET多线程编程

    一、线程基础 1. 主线程:ASP.NET Web应用程序默认运行在一个主线程上,负责处理HTTP请求。 2. 工作线程:开发者可以通过创建新的线程来执行非UI相关的任务,这些线程被称为工作线程。 二、线程创建与管理 1. ...

    多线程delphi 源码 数据库

    一、多线程基础 1. **线程概念**:线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个线程并发执行,提高程序的并行处理能力,提升整体效率。 2. **创建线程**:在Delphi中,可以使用TThread类创建线程。...

    在Delphi中利用多线程实现数据采集的方法.doc

    ##### 多线程基础 1. **概念**:多线程是指在一个进程中创建多个线程来执行不同的任务。每个线程都有独立的执行路径,可以在同一时间内处理不同的任务。 2. **优点**: - 提高了程序的响应速度和运行效率。 - 可以...

    专家级多线程技术

    一、多线程基础 1. 线程与进程:线程是操作系统分配CPU时间的基本单元,而进程则是资源分配的单位。每个进程至少包含一个主线程,可以创建多个子线程共享同一内存空间,提高资源利用率。 2. 线程生命周期:线程有...

    Java多线程知识,龙果学院

    一、Java多线程基础 1. **线程的概念**:线程是程序执行的最小单元,一个进程可以有多个线程同时执行,使得程序能够并行处理多个任务。 2. **线程的创建方式**:Java提供了两种创建线程的方式,一是继承Thread类,...

Global site tag (gtag.js) - Google Analytics