1 / 2
文档名称:

Java多线程.pdf

格式:pdf   页数:2
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java多线程.pdf

上传人:紫岑旖旎 2012/9/15 文件大小:0 KB

下载得到文件列表

Java多线程.pdf

文档介绍

文档介绍:柳波廊坊师范学院五期信息技术提高班
用文字梳理生命让分享联动你我使知识创造价值
Java多线程
分类: JAVA基础 2011-12-24 14:27 62人阅读评论(1) 收藏举报
java多线程:
1、什么是多线程
      
不同的工作,称为多线程.
       线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程
则共享数据空间,
      
节约CPU时间,发挥利用,根据具体情况而定.
       线程的运行中需要使用计算机的内存资源和CPU。
2、为什么使用同步
       当多个线程同时访问同一个资源的时候,如果没有同步机制将导致资源出错,
影响程序的最终运行结果。
       例如:启动两个线程计算1加到100
       Public static Integer id = 0;
       Public static void main(String args[]){
    
             New Thread(new TestThread()).start();//1
             New Thread(new TestThread()).start();//2
       }
    
      Class TestThread extends Thread{
          Public void run(){
            for(int i=1, i++, i<101){
                 id += i;
            }
            (id);
      }
    
    这样必然导致结果是不正确的,因为当1线程执行的时候,例如将id变成了3,i为
2,此时线程1等待,
    然后线程2获取资源执行将id变成了1,i为1,然后线程2等待,线程开始运行,但
是Id变成了1。
    因此必须要加上同步。
3、同步方式
        synchronized关键字。可以在方法上使用例如,public synchronized void
run(){}
    定义共享对象,必须为final,将该共享对象作为一个同步锁,该对象必须共享,
只有这样多个线程才能真正做到同步。
    这种方式也称为信号量
    例如:
    Public static fianl Object lock = new Object();
1
Public static fianl Object lock = new Object();
       Public void run(){
           Synchronized(lock){
                 for(){}
            }    
       }
    
     Public void run(){