![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
进程和线程
iteye_8733
这个作者很懒,什么都没留下…
展开
-
进程基本概念详解
1.进程基本概念 进程是操作系统对一个正在运行的程序的一种抽象,比如打开QQ、打开播放器这里都是一个进程,而你可以边聊天边听歌,没什么影响,你可能会说我们电脑是4核的,这里暂且不考虑这个,加入我们电脑都是1个cpu在运转,那么我们也是可以边聊天和边听歌的。因为在一个系统上(单核)CPU只能在任一时刻运行一个任务,而我们却感觉同时完成了好多任务。这时为什么呢? ...2014-05-24 15:37:39 · 129 阅读 · 0 评论 -
进程同步与异步
说起进程的同步和异步,应该从进程的阻塞和挂起 1.阻塞和挂起区别 1)挂起是一种主动行为,因此恢复也应该主动完成,而阻塞是一种杯中行为,是在等待时间或者资源任务时的表现,我们也不知道什么时候阻塞什么时候恢复阻塞,是透明的。 2)阻塞任务释放Cpu,其他任务可以获得cpu运行,而挂起不释放cpu,如果任务优先级高就永远轮不到其他任务,一般挂起用于程序调试中的条件中断。 ...2014-05-24 16:17:05 · 258 阅读 · 0 评论 -
线程基本详解
1.线程的基本概念 什么是线程,线程就是程序中单独顺序的流控制,线程本身不能运行,它只能用于程序中,只能使用分配给程序的资源和环境。 通常一个进程可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的OS中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程小,基本上不拥有系统资源,所以它的调度所付出的开销会小的多,能更高效...2014-05-24 16:48:10 · 94 阅读 · 0 评论 -
线程同步-银行取款问题
1.取款问题 比如你在银行里存了1000块,从银行柜台取出600,同时也在取款机取出600,正常的话第二次在取款机取款由于存款少于600所以取不出来,我们实践一下: 银行账户类 public class BankAccount { int money=1000; public int getMoney(int num) { if ( money<num)...2014-05-24 17:41:33 · 298 阅读 · 0 评论 -
生产者消费者问题
1.生产者消费者问题 生产者消费者类 public class Producer { public void produce(){ System.out.println("生产一个"); }}public class Consumer { public void consumer(){ System.out.println("消费一个"); }...2014-05-24 17:47:16 · 615 阅读 · 0 评论 -
哲学家就餐问题
哲学家就餐问题 筷子类 //筷子类public class Chopstick { public String name; // 是否可用 boolean isAvailable; public Chopstick(String name) { this.name = name; isAvailable = true;...原创 2014-05-26 05:04:47 · 102 阅读 · 0 评论