在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果, 若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下: 而利用进程间的参数传递可以解决这一问题. 两个方向的参数传递: 1.主线程向子线程传递参数: 通过函数 int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); 在创建线程…
(一) strace 命令    用途:打印 STREAMS 跟踪消息. 语法:strace [ mid sid level ] ... 描述:没有参数的 strace 命令将所有的驱动程序和模块中的所有 STREAMS 事件跟踪消息写到它的标准输出中. 这些消息是从 STREAMS 日志驱动程序中获取的.如果提供参数,它们必须是在三元组中.每个三元组表明跟踪消息要从给定的模块或驱动程序.子标识(通常表明次要设备)以及优先级别 等于或小于给定级别的模块或驱动程序中接收.all 标记可由任何成员使…
APP被苹果APPStore拒绝的各种原因 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币. 3.游戏里有实物奖励的话,一定要说清楚,奖励由本公司负责,和苹果没有关系. 4.用到苹果的标志.(应用的设计和Apple的Logo风格太像了也会被拒) 5.网络功能不能正常访问. 6.图标不能点击,不能点击的图标要置灰,或者直接隐藏. 7.没有设置default页,启动画面为黑屏,有一定概率被拒绝. 8.一个应用在线,但你想在发一个豪华版之类…
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long start = System.currentTimeMillis(); LOG.info("InjectorJob: starting at " + sdf.format(…
一.共享内存简介 共享内存是进程间通信中高效方便的方式之一.共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针,两个进程可以对一块共享内存进行读写. 共享内存并未提供进程同步机制,使用共享内存完成进程间通信时,需要借助互斥量或者信号量来完成进程的同步.这里说一下互斥量与信号量的区别.互斥量用于线程的互斥,信号量用于线程的同步,这是互斥量与信号量的本质区别,其次信号量实现互斥量的功能. 本文结合个人实际项目需求,采用互斥量实现进程间…
一个原则是:应该尽量少的使用parallelfor, 因为parallel for也需要时间开销.即: (1)如果外层循环次数远远小于内层循环次数,内层循环较多时,将parallel for加在内层循环. 示例代码: int a=0; int b=0; inline void openmpTest2(int thread_num) { for(int i=0;i<100;i++) { #pragma omp parallel for num_threads(thread_num) for(int…
参考文献:ubuntu 13.04 安装 JDK 先去oracle官网下载jdk,这一段我就不赘述了. 下载好之后先解压,解压方式参见 linux常用的压缩与解压缩命令 ,解压之后,将文件剪贴至/usr/lib/中的jvm文件夹中,同时把文件名更换为java,如果没有这个文件夹就自己建一个,剪贴以及新建文件夹命令参见ubuntu文件管理常用命令 . 上面工作做完之后,就可以添加环境变量了 sudo vi ~/.bashrc 在环境变量中添加 export JAVA_HOME=/usr/lib/j…
最近在学习shell编程,文中若有错误的地方还望各位批评指正. 先来看一个简单的求和函数 #!/bin/bash #a test about function f_sum 7 8 function f_sum(){ return $(($1+$2)); } f_sum 3 5; total=$(f_sum 3 6); echo $total,$?; 注意几个问题: 1.shell是逐行执行,所以要在函数声明之后才可调用,否则会有错误 2.我们要获得函数的返回值只能通过$?来获得,不可以通过变量拿…
参考core java,马士兵视频 1.线程的基本概念 (1)一个线程是一个程序内部的顺序控制流.   (2)线程和进程 –每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大. –线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小. –多进程:在操作系统中,能同时运行多个任务(程序). –多线程:在同一应用程序中,有多个顺序流同时执行.   2.JAVA线程基本概念 JAVA的线程是通过java.lang.Thread类来实…
参考: Debian官网链接 Motion官网链接 首先,参见Debian官网链接对Motion的介绍,网页中包含了所有相关依赖包,请首先确保这些依赖包的安装. Motion介绍 摘出对Motion的介绍部分.如下: Package: motion (3.2.12-3.4) V4L capture program supporting motion detection Motion is a program that monitors the video signal from one or m…