1、Java多线程的概念:

线(Thread):它指的是一个任务的从开始执行流程到结束。

穿线提供执行任务的机构。供java条款。在一个程序可以启动多个并发线程。候执行。

在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。当程序作为一个应用程序来执行时。JAVA解释器为main开启一个线程。

当程序为Applet执行时,Web浏览器启动一个线程来执行applet。还能够在程序中创建附加的线程以执行并发任务。

在JAVA中,每一个任务都是Runnable的实例。

2、创建任务和线程

任务就是对象,为了创建任务,必须为任务定义一个类,任务类必须实现Runnable接口。Runnable接口十分简单,例如以下:

public abstract interface java.lang.Runnable {

  // Method descriptor #1 ()V
public abstract void run(); }

接口里就仅仅有一个run方法,须要这种方法告诉系统线程将怎样执行。以下介绍怎样开发任务类:

1、一旦定义了一个TaskClass,就能够用他的构造方法来创建一个任务。比如:

TaskClass task = new TaskClass(參数);

2、任务必须在线程中执行。

Thread thread = new Thread(task);

3、调用start()方法告诉JAVA虚拟机该线程准备执行

thread.start();

以下我就举一个简单的样例:

PrintChar.java

package com.guigu.zhangxx.main;

public class PrintChar implements Runnable{
private char c;
private int num; public PrintChar(char c,int num){
this.c = c;
this.num = num;
}
public void run() {
for(int i=0;i<num;i++){
System.out.print(c+" ");
} }
}

CMain.java

package com.guigu.zhangxx.main;

public class CMain {

    public static void main(String[] args) {
//创建任务
Runnable print1 = new PrintChar('A',10);
//创建线程
Thread thread1 = new Thread(print1);
//开启线程
thread1.start();
} }

结果为:

A A A A A A A A A A

版权声明:本文博主原创文章,博客,未经同意不得转载。

Java多线程&lt;1&gt;的更多相关文章

  1. 40个Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  2. Java多线程基础知识篇

    这篇是Java多线程基本用法的一个总结. 本篇文章会从一下几个方面来说明Java多线程的基本用法: 如何使用多线程 如何得到多线程的一些信息 如何停止线程 如何暂停线程 线程的一些其他用法 所有的代码 ...

  3. Java多线程系列--“JUC锁”03之 公平锁(一)

    概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...

  4. Java多线程系列--“JUC锁”04之 公平锁(二)

    概要 前面一章,我们学习了“公平锁”获取锁的详细流程:这里,我们再来看看“公平锁”释放锁的过程.内容包括:参考代码释放公平锁(基于JDK1.7.0_40) “公平锁”的获取过程请参考“Java多线程系 ...

  5. Java多线程--让主线程等待子线程执行完毕

    使用Java多线程编程时经常遇到主线程需要等待子线程执行完成以后才能继续执行,那么接下来介绍一种简单的方式使主线程等待. java.util.concurrent.CountDownLatch 使用c ...

  6. Java多线程 2 线程的生命周期和状态控制

    一.线程的生命周期 线程状态转换图: 1.新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就 ...

  7. java 多线程 1 线程 进程

    Java多线程(一).多线程的基本概念和使用 2012-09-10 16:06 5108人阅读 评论(0) 收藏 举报  分类: javaSE综合知识点(14)  版权声明:本文为博主原创文章,未经博 ...

  8. 一起阅读《Java多线程编程核心技术》

    目录 第一章 Java多线程技能 (待续...)

  9. 第一章 Java多线程技能

    1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...

  10. java从基础知识(十)java多线程(下)

    首先介绍可见性.原子性.有序性.重排序这几个概念 原子性:即一个操作或多个操作要么全部执行并且执行的过程不会被任何因素打断,要么都不执行. 可见性:一个线程对共享变量值的修改,能够及时地被其它线程看到 ...

随机推荐

  1. Python每隔一秒钟打印当地时间

    import threading,time global t def sayHello(): print time.strftime('%Y-%m-%d %H:%M:%S',time.localtim ...

  2. veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响

    veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响 续接veridata实验系列  上篇:"veridata实验举例(5)改动主键上的列值.update ...

  3. MySQL外键约束OnDelete和OnUpdate的使用

    On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性.现在分别对他们的属性含义做个解释. ON DELETE restrict(约束) ...

  4. POJ 1838 Banana (并查集)

    Description Consider a tropical forrest, represented as a matrix. The cell from the right top corner ...

  5. My Solution: Word Ladder

    public class Solution { public int ladderLength(String start, String end, Set<String> dict) { ...

  6. 软考之CPU的寻址方式

    在复习软考的时候,发现CPU的内部工作原理这一部分的内容挺重要的,现对CPU的寻址方式进行了一下总结.以下就来一一介绍一下. 我们都知道一个指令分为操作码和地址码两部分.操作码确定指令的类型.地址码确 ...

  7. 使用 angular directive 和 json 数据 D3 随着标签 donut chart演示样本

    使用angular resource载入中priorityData.json中间json数据,结合D3绘制甜甜圈图.执行index.html其结果见于图.: priorityData.json中jso ...

  8. Tomcat中更改网站根目录和默认页的配置方法

    1.tomcat原来的默认根目录是http://localhost:8080,如果想修改访问的根目录,可以这样: 找到tomcat的server.xml(在conf目录下),找到: <Host ...

  9. Left Menu抽屉效果ScrollView姿态共存冲突

    我们有一个小项目,需要做主页ScrollView嵌套TableView. 再就是Left与Right抽屉效果. 课前有眼似的,然后完成忘. 非常糟糕的记忆.真应了那句话:好记性不如烂博客. 由于我首页 ...

  10. POJ---2243 Knight Moves 使用A*算法的广度优先搜索

    题目链接:http://poj.org/problem?id=2243 启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标.这样可以省 ...