进程与线程

进程:程序一次动态执行过程,从代码加载、执行与执行完毕的完整过程。
特点:
进程是系统运行程序的基本单位;
每一个进程都有自己独立的一块内存空间、一组系统资源;

每一个进程的内部数据和状态都是完全独立的。

线程:是进程执行运算的最小单位,可完成一个独立顺序控制流程。每个进程自少建立一个线程(主线程),来作为这个程序运行的入口点。

java.lang.Thread

创建线程
1.继承Thread类创建线程
public class Mythread extends Thread{...}
//测试类
public class Test{
Mythread thread = new Mythread();
thread.start();
}
2.实现Runnable接口创建线程
public class Myrunnable implements Runnable{...}
//测试类
public class Test{
Myrunnable myrunnable = new Myrunnable();
Thread thread = new Thread(myrunnable);
thread.start();
}
调用start()和run()方法的不同:
start是启动线程,多线程启动,线程交替执行;
run是调用实例,只有主线程执行,程序按顺序执行,属于单线程模式。

线程状态:
创建、就绪、运行、堵塞、死亡。
优先级: setPriority(1-10);1优先级高,10优先级低,默认5;创建时,设立线程优先级,然后在启动;
线程休眠: sleep();毫秒值;
礼让: yield();暂停当前线程,允许其他线程获得运行机会;

强制运行: join()  当前线程暂停执行,等待调用该方法的线程结束后再继续执行本线程。

线程同步:synchronized
同步方法、同步代码块
public class SynObj {
//同步方法
    public synchronized void methodA() {
        System.out.println("methodA.....");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
//同步代码块
  public  void methodB() {
        synchronized(this) {
            System.out.pritntln("methodB.....");
        }
    }
}
同步代码块:其他程序仍可访问该非同步的代码块;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christian_yang

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值