代码与程序的区别与联系
来源:互联网 发布:日本听歌软件 编辑:程序博客网 时间:2024/06/07 15:09
代码与程序的区别与联系,你真的懂么?请试着解释下面2段代码。
//第一段程序:fork与多进程#include <unistd.h>#include <stdio.h> int main () { pid_t fpid=fork(); if (fpid < 0) printf("error in fork!"); else if (fpid == 0) printf("i am the child process, my process id is %d/n",getpid()); else printf("i am the parent process, my process id is %d/n",getpid()); return 0;}
//第二段程序:sleep(wait)与多线程public class ThreadTest implements Runnable { int number = 10; public void firstMethod() throws Exception { synchronized (this) { number += 100; System.out.println(number); } } public void secondMethod() throws Exception { synchronized (this) { Thread.sleep(2000);//1.sleep的是哪个线程? 2.如果把本行换成下一行的语句,程序执行会有什么不同? //this.wait(2000); number *= 200; } } @Override public void run() { try { firstMethod(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { ThreadTest threadTest = new ThreadTest(); Thread thread = new Thread(threadTest); thread.start(); threadTest.secondMethod(); }}
能看得懂这2段代码,才算是入门了吧~ (有的时候口头上能说出来和真正的理解可不一样 ←_←)
总结:代码只有一份,新建一个进程或线程不过是新建了一个“上下文”或“程序指针”(程序计数器PC),重新指向原来那段代码。
附:
[1] linux中fork()函数详解(原创!!实例讲解)
[2] Java Thread(线程)案例详解sleep和wait的区别
阅读全文
0 0
- 代码与程序的区别与联系
- 进程 线程 程序的区别与联系
- 进程、线程、程序 的联系与区别
- 程序、进程、线程的联系与区别
- 进程与程序的区别和联系
- 程序、进程、线程的区别与联系
- 程序、进程、线程的区别与联系
- 程序、进程、线程的联系与区别
- 程序与进程之间的区别与联系
- 进程与程序联系与区别
- 进程、线程、程序三者的区别与联系
- 程序、进程、作业之间的区别与联系
- 程序,进程和线程的区别与联系
- 程序、进程、作业之间的区别与联系
- 程序、进程、作业之间的区别与联系
- 程序、进程、作业之间的区别与联系
- 学习笔记--进程与程序的区别和联系
- 程序、进程、作业之间的区别与联系
- POI X Sums(同余最短路)
- Struts2(1)
- pcap_findalldevs
- Jenkins 配置 2(Maven + git 配置)
- 《美团点评编程题》整数加法
- 代码与程序的区别与联系
- 最大上升子序列的和
- ios-依赖系统语言的storyboard的国际化
- 142. Linked List Cycle II [leecode]
- Angular2 使用管道Pipe以及自定义管道格式数据
- 8.8 数据结构与算法-----查找算法
- 2017百度之星资格赛 度度熊保护村庄
- 杭电 【1003】 Max Sum
- git:从远程仓库更新代码到本地仓库