Linux系统编程
山寺桃花
这个作者很懒,什么都没留下…
展开
-
小例子:实现互斥锁,自旋锁
互斥锁,自旋锁在多线程并发访问临界区时,使用上面三种操作,可以实现并发访问。首先创建是个线程 for(i = 0;i<THREAD_COUNT;i++) { pthread_create(&threadid[i],NULL,thread_callback,&count);//返回线程的ID传回的是地址 }其次编辑回调函数,回调函数实现的是让pcount的值达到1000000,达到一百万的过程是十个线程的共同作用结果。void thread原创 2020-08-29 17:29:06 · 382 阅读 · 0 评论 -
“鸠占鹊巢的”exec
在Linux中,把程序载入内存并执行程序映像的操作与创建新的进程的操作是分离的,一次系统调用会把二进制程序加载到内存中,替换地址原来的内容并开始调用,利用系统调用exec()。另外一种系统调用时创建一个新的进程,基本上相当于复制其父进程,这个过程称为fork().在shell下面运行 ls 的命令,strace ls 查看命令如下:execve("/bin/ls", ["ls"], [/* 6...原创 2019-09-30 17:04:54 · 127 阅读 · 0 评论