• 多线程(一)



    进程与线程

    进程

    一个进程就是一个执行中的程序,每一个进程的内部数据和状态都是完全独立。

    是程序运行的基本单位。

    线程

    程序中单个唾弃的流控制称为线程。

    多线程是指单个进程中可以运行多个不同的线程,执行不同的任务。

    差别

    线程是划分比进程更小的执行单位。

    进程有专用的内存区域,线程只有共享内存单元。




    继承Thread与继承Runnable的区别

    class Thread1 extends Thread                       //继承Thread
    {
    	public void run()
    	{
    		for(int i=0;i<100;i++)
    		System.out.println("Thread1 is running.");
    	}
    }
    class ThreadDemo
    {
    	public static void main(String[] args)
    	{
    		Thread1 t=new Thread1();
    		t.start();
    		for(int i=0;i<100;i++)
    		{
    			System.out.println("main is running.");
    		}
    	}
    }


    class Thread1 implements Runnable                 //继承Runnable
    {
    	private int tickets=100;
    	public void run()
    	{
    		while(true)
    			if(tickets>0)
    				System.out.println(Thread.currentThread().getName()+" sale No."+tickets--);
    	}
    }
    class ThreadDemo
    {
    	public static void main(String[] args)
    	{
    		Thread1 t=new Thread1();
    		new Thread(t).start();
    		new Thread(t).start();
    		new Thread(t).start();
    	}
    }

    区别是继承Runnable可以创建多个线程共享资源。




    后台线程

    对于java而言,有一个前台在运行进程就不会结束,只有一个后台程序运行进程就会结束。

    class Thread1 implements Runnable
    {
    	public void run()
    	{
    		while(true)
    		{
    		System.out.println("Thread1 is running.");
    		}
    	}
    }
    class ThreadDemo
    {
    	public static void main(String[] args)
    	{
    		Thread1 t=new Thread1();
    		Thread tt=new Thread(t);
    		tt.setDaemon(true);                   //设置后台线程
    		tt.start();
    	}
    }



  • 相关阅读:
    百度地图api
    白岩松视频
    rails3 unicorn部署
    rails3 unicorn部署
    rails3 unicorn部署
    nginx geoip 模块实现地区性负载均衡
    workingwithrails
    rails部署方案
    rails3使用cucumber和rspec进行测试
    rails3 unicorn部署
  • 原文地址:https://www.cnblogs.com/lisisong/p/5122624.html
Copyright © 2020-2023  润新知