[Linux] FUSEでデータ生成

データ生成

[Linux] FUSEを使ってみようではFUSEを使って、ファイルシステムとしてマウントする例を見たけど、今度はFUSEを使ってデータを生成するファイルを作ってみよう。

開発用のヘッダファイルとかが必要になるので、https://github.com/libfuseからライブラリを入手するか、fuse-developパッケージをインストールしよう。
今回はfuse 2.9.3を使用した。

[Linux] FUSEを使ってみよう

fusermount

Linuxでユーザ側のアプリケーションレイヤーでファイルシステムを実現する仕組みとして、FUSE(Filesystem in Userspace)がある。
これを使うと、いろんなものをファイルシステムとして扱うことができる。

https://github.com/libfuse

まず必要なのはfusermountなので、ディストリビューションでパッケージとして用意されている場合は、パッケージでインストールしてしまおう。
fusermountコマンドは単独で使うというより、後述のコマンドでマウントしたファイルシステムをアンマウントするときに使う。

$ fusermount -u /path/to/mounted

[Java] スレッド開始前後の共有変数

[Java][C]JavaのvolatileとCのvolatileでJavaのvolatileについて書いた。

けど、以下のようなコードでエンクロージングクラスからキャプチャされたローカル変数が起動された側のスレッドから見えることや、起動されたスレッドが設定した変数がスレッド終了を待機した側のスレッドから見えることが保証されているのか、実はあまりよくわかっていなかった。
        Counter counter = new Counter();
        
        IntStream.rangeClosed(1, 100).parallel()
            .forEach(x -> counter.increment());
            
        System.out.println(counter.getCount());