原创 進程間通信—消息隊列(一)

消息隊列基本概念: 消息隊列是系統內核地址空間中的一個內部的鏈表。消息可以按照順序發送到隊列中, 也可以以幾種不同的方式從隊列中讀取。每一個消息隊列用一個唯一的IPC標識符表示。 我們來實現一個簡單的消息隊列的工具,用於創建消息隊列、發送

原创 進程間通信—信號(三)

下面是安裝兩個信號的例子: 信號例子: 進程A:安裝信號SIGUSR1,SIGUSR2 收到SIGUSR1:啓動火車票系統(這裏可以是任一一個程序); 收到SIGUSR2:重啓系統(打印自己的PID); 進程B:接收用戶鍵盤輸入 輸入:

原创 進程間通信—Socket編程

linux下Socket編程的原理大家參考下面這篇博客: http://blog.csdn.net/xiaoweige207/article/details/6211577 我就不多介紹了,下面這是一個小例子。 客戶端代碼: #inc

原创 Google Nexus5關於Android 6.0源碼的同步,編譯和燒寫

關於Ubuntu下Android開發的環境搭建這裏就不在詳述啦,下面所提到的主要是一些關鍵點, repo工具的下載和使用 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googl

原创 Android之翻轉靜音

在Android系統框架裏實現翻轉靜音; 利用java的觀察者模式可以輕鬆實現來電翻轉靜音; 服務類程序代碼: package com.example.smartcalltest; import android.app.Service;

原创 SurfaceView做幀動畫

前提條件我就不說了,相信能查找這個主題的都不是一般的Android開發者,我只講核心的部分和該文章所能解決的問題。 之前搜索過很多文章,大都不理想,無法完美的解決自己的需求,然後自己根據資料整理了一下,可以說非常完美。 解決的問題: 1、

原创 JAVA線程池

//相比new Thread,Java提供的四種線程池的好處在於: //a. 重用存在的線程,減少對象創建、消亡的開銷,性能佳。 //b. 可有效控制最大併發線程數,提高系統資源的使用率,同時避免過多資源競爭,避免

原创 Socket編程之I/O複用

I/O複用 在上一章中看到TCP客戶端同時處理兩個輸入:標準輸入和TCP套字節。我們遇到的問題是客戶阻塞於(標準輸入上的)fgets()調用,而服務器進程退出。服務器TCP雖能正確地客戶TCP發了一個FIN,但客戶進程正阻塞於從標準輸入讀

原创 Android之傳感器

Android的傳感器如何獲取,並顯示,自己寫的Demo,可以獲取Android系統的一些常用傳感器,可以作爲測試用: package com.example.demo9; import android.app.Activity; im

原创 CP的實現

linux下一個簡單的文件複製程序,cp命令的實現, #include <fcntl.h> #include <unistd.h> #include <errno.h> #include <stdio.h> #include <stri

原创 進程間通信—信號量

IPC標識符和關鍵字: 在終端輸入ipcs,可以看到目前系統中所有的IPC信息: 第一列的key就是IPC的關鍵字,第二列是IPC的標識符。 ftok()函數用於獲得一個IPC的關鍵字,其函數原型是: key_t  ftok(const

原创 進程間通信—消息隊列(二)

實例:模擬經緯度的收發工作。(採用消息隊列的方式處理) 項目中涉及2個不相關進程A和進程B 假設你是項目的進程A編寫者,你負責把進程A的經緯度發送到 第三方導航軟件中導航定位(進程B)進程A每2秒發送一次經緯度, 進程B每3秒接受一次經緯

原创 基本文件I/O

linux編程的一個小練習,j基本文件I/O的操作; 問題:從src.txt中讀出數據 ,清除每末尾的*,整理後寫入到dst.txt中 必須用read,write去實現,寫成小函數,可以讀取一行以\n爲標識符 原數據: 123**45**

原创 進程間通信—信號(一)

信號機制是linux系統中最爲古老的進程之間的通信機制。 What:信號是一種Event時間,原理都是中斷機制,是一種異步處理,是一種通知。 How to do: 1、分析信號的發送方和接收方是誰 2、在接受方做好信號的安裝註冊。(主要是

原创 進程間通信—信號(二)

一、模擬獲取GPS數據,然後1s更新到顯示屏。 進程A:每秒打開文件gps.dat寫date時間到文件,打開寫前清空下數據, 寫完即發送信號SIGUSR1到進程B。 進程B:收到信號SIGUSR1,只讀方式打開文件gps.dat,把讀到的