InggrisPerancisSpanyol

favorit OnWorks

rrdthreads - Online di Cloud

Jalankan rrdthreads di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah rrdthreads yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


rrdthreads - Ketentuan untuk menghubungkan perpustakaan RRD untuk digunakan dalam program multi-utas

RINGKASAN


Menggunakan librrd dalam program multi-utas memerlukan beberapa tindakan pencegahan ekstra, karena RRD
perpustakaan dalam bentuk aslinya sama sekali tidak aman. Dokumen ini menjelaskan
persyaratan dan jebakan tentang cara menggunakan librrd versi multi-utas di
program sendiri. Ini juga memberikan petunjuk untuk pengembangan RRD di masa depan untuk menjaga thread perpustakaan tetap
aman.

Saat ini hanya beberapa operasi RRD yang diimplementasikan dengan cara yang aman. Mereka semua berakhir di
akhiran ""_r"" yang biasa.

DESKRIPSI


Untuk menggunakan librrd dalam program multi-utas, Anda harus:

· Berhubungan dengan librd_th alih-alih perpustakaan (gunakan "-lrrd_th" saat menautkan)

· Gunakan fungsi ""_r"" alih-alih fungsi API biasa

· Jangan gunakan spesifikasi waktu at-style. Parsing dari spesifikasi waktu tersebut adalah
sangat non-utas-aman.

· Jangan pernah menggunakan fungsi non *"_r" kecuali secara eksplisit didokumentasikan bahwa fungsi tersebut
aman untuk tapak.

· Setiap utas HARUS memanggil "rrd_get_context()" sebelum panggilan pertamanya ke "librrd_th" mana pun
berfungsi untuk mengatur data spesifik utas. Ini tidak benar-benar diperlukan, tapi
ini adalah satu-satunya cara untuk menguji apakah alokasi memori dapat dilakukan oleh fungsi ini.
Jika tidak, program dapat mati dengan SIGSEGV dalam situasi memori rendah.

· Selalu panggil "rrd_error_clear()" sebelum panggilan apa pun ke perpustakaan. Jika tidak, panggilan
mungkin gagal karena beberapa kesalahan sebelumnya.

CATATAN UNTUK RRD KONTRIBUTOR
Beberapa tindakan pencegahan harus diikuti saat mengembangkan RRD mulai sekarang:

· Hanya gunakan fungsi thread-safe dalam kode perpustakaan. Banyak fungsi libc yang sering digunakan tidak
aman untuk benang. Berhati-hatilah dalam situasi berikut atau saat menggunakan perpustakaan berikut
fungsi:

· Panggilan langsung ke "strerror()" harus dihindari: gunakan "rrd_strerror()" sebagai gantinya, itu
memberikan pesan kesalahan per-utas.

· Keluarga fungsi "getpw*", "getgr*", "gethost*" (dan beberapa lagi "get*"
function) tidak thread-safe: gunakan varian *"_r"

· Fungsi waktu: "asctime", "ctime", "gmtime", "localtime": gunakan varian *"_r"

· "strtok": gunakan "strtok_r"

· "tmpnam": gunakan "tmpnam_r"

· Banyak lainnya (dokumentasi pencarian)

· File header bernama rrd_is_thread_safe.h disediakan yang bekerja dengan GNU
C-preprocessor untuk "meracuni" beberapa fungsi non-thread-safe yang paling umum menggunakan
Arahan "#pragma GCC racun". Cukup sertakan header ini di file sumber yang Anda inginkan
menjaga benang-aman.

· Jangan perkenalkan variabel global!

Jika Anda benar-benar harus menggunakan variabel global, Anda dapat menambahkan bidang baru ke
struktur "rrd_context" dan modifikasi rrd_error.c, rrd_thread_safe.c dan
rrd_non_thread_safe.c

· Jangan gunakan "getopt" atau "getopt_long" di *"_r" (baik secara langsung maupun tidak langsung).

"getopt" menggunakan variabel global dan berperilaku buruk dalam aplikasi multi-utas ketika
disebut bersamaan. Alih-alih berikan fungsi *_r dengan mengambil semua opsi sebagai fungsi
parameter. Anda dapat memberikan argumen argc dan **argv untuk argumen panjang variabel
daftar. Lihat "rrd_update_r" sebagai contoh.

· Jangan gunakan fungsi "rrd_parsetime"!

Ini menggunakan banyak variabel global. Anda dapat menggunakannya dalam fungsi yang tidak dirancang untuk menjadi
thread-safe, seperti dalam fungsi yang membungkus versi "_r" dari beberapa operasi (mis.
"rrd_create", tetapi tidak di "rrd_create_r")

SAAT INI DITERAPKAN BENANG AMAN FUNGSI
Saat ini ada varian thread-safe dari "rrd_update", "rrd_create", "rrd_dump",
"rrd_info", "rrd_last", dan "rrd_fetch".

Gunakan rrdthreads online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Kawah
    Kawah
    Crater adalah web sumber terbuka &
    aplikasi faktur seluler yang dibuat khusus untuk
    pekerja lepas dan usaha kecil.
    Ini adalah solusi faktur lengkap
    kamu butuh...
    Unduh Kawah
  • 2
    formkiq-inti
    formkiq-inti
    FormKiQ Core adalah Dokumen Sumber Terbuka
    Sistem Manajemen (DMS), tersedia untuk
    dijalankan sebagai perangkat lunak tanpa kepala atau dengan a
    klien berbasis web, diterapkan ke Anda
    Amazon Kami...
    Unduh formkiq-core
  • 3
    blackfriday
    blackfriday
    Blackfriday adalah prosesor penurunan harga
    diimplementasikan di Go. Ini paranoid tentang
    masukannya (sehingga Anda dapat memberinya makan dengan aman
    data yang disediakan pengguna), cepat, itu
    mendukung c...
    Unduh Blackfriday.dll
  • 4
    Sumber QNAP NAS GPL
    Sumber QNAP NAS GPL
    Sumber GPL untuk QNAP Turbo NAS.
    Pemirsa: Pengembang. Antarmuka pengguna:
    Berbasis web. Bahasa Pemrograman: C,
    Jawa. Kategori:Sistem, Penyimpanan,
    Kernel Sistem Operasi...
    Unduh Sumber QNAP NAS GPL
  • 5
    sangat bersih
    sangat bersih
    Skrip Kotlin yang membuat semua build nukes
    cache dari proyek Gradle/Android.
    Berguna saat Gradle atau IDE mengizinkan Anda
    turun. Skrip telah diuji
    macOS, tapi ...
    Unduh deep-clean
  • 6
    Plugin Eclipse Checkstyle
    Plugin Eclipse Checkstyle
    Plugin Eclipse Checkstyle
    mengintegrasikan kode Java Checkstyle
    auditor ke dalam Eclipse IDE. Itu
    plug-in memberikan umpan balik real-time untuk
    pengguna tentang viol...
    Unduh Plug-in Eclipse Checkstyle
  • Lebih banyak lagi »

Perintah Linux

Ad